{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "932255a18d4b2e23c4733c9c399a5196f317416e15cff677e6f86ec95ab23cf0",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:08Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "addon-custom-communityresolvertask-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonAddon",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "custom-communityresolvertask"
                },
                "name": "addon-custom-communityresolvertask-df5cg",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonAddon",
                        "name": "addon",
                        "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                    }
                ],
                "resourceVersion": "22783",
                "uid": "fe01e46f-bb79-48d1-8704-198ecca30225"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/categories": "Image Build",
                                "tekton.dev/displayName": "jib maven",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le",
                                "tekton.dev/tags": "image-build"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.5",
                                "operator.tekton.dev/provider-type": "community"
                            },
                            "name": "jib-maven",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This Task builds Java/Kotlin/Groovy/Scala source into a container image using Google's Jib tool.\nJib works with Maven and Gradle projects, and this template is for Maven projects.",
                            "params": [
                                {
                                    "description": "Name of the image to build",
                                    "name": "IMAGE"
                                },
                                {
                                    "default": "registry.redhat.io/ubi9/openjdk-17@sha256:555c8bcd2596637befd1a6da4aa949c5a2640cf66e09c2dfb932afe37e39095e",
                                    "description": "Maven base image",
                                    "name": "MAVEN_IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "description": "The directory containing the app, relative to the source repository root",
                                    "name": "DIRECTORY"
                                },
                                {
                                    "default": "empty-dir-volume",
                                    "description": "The name of the volume for caching Maven artifacts and base image layers",
                                    "name": "CACHE"
                                },
                                {
                                    "default": "false",
                                    "description": "Whether to allow insecure registry",
                                    "name": "INSECUREREGISTRY"
                                },
                                {
                                    "default": "service-ca.crt",
                                    "description": "CA cert file name for insecure registry service",
                                    "name": "CACERTFILE"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Digest of the image just built.",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "steps": [
                                {
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/workspace"
                                        },
                                        {
                                            "name": "DOCKER_CONFIG",
                                            "value": "$(credentials.path)/.docker/"
                                        }
                                    ],
                                    "image": "$(params.MAVEN_IMAGE)",
                                    "name": "build-and-push",
                                    "script": "#!/bin/bash\n\n# Delete the truststore created on exit\nfunction cleanup {\n  rm $(workspaces.source.path)/truststore.jks\n}\n\ncertParams=\"\"\n\nif [[ -f /tekton-custom-certs/$(params.CACERTFILE) ]]; then\n  # create the truststore with existing certs available\n  keytool -importkeystore -srckeystore $JAVA_HOME/lib/security/cacerts -srcstoretype JKS -destkeystore $(workspaces.source.path)/truststore.jks -storepass \"changeit\" -srcstorepass \"changeit\" \u003e /tmp/logs 2\u003e\u00261\n  if [ $? -ne 0 ]; then\n    cat /tmp/logs\n    exit 1\n  fi\n  # add your certs to the new truststore created\n  keytool -import -keystore $(workspaces.source.path)/truststore.jks -storepass \"changeit\" -file /tekton-custom-certs/$(params.CACERTFILE) -noprompt\n  # pass truststore details to the mvn command\n  certParams=\"-Djavax.net.ssl.trustStore=$(workspaces.source.path)/truststore.jks -Djavax.net.ssl.trustStorePassword=changeit\"\n  # clean truststore on exit\n  trap cleanup EXIT\nfi\n\nmvn -B \\\n  -Duser.home=$HOME \\\n  -Djib.allowInsecureRegistries=$(params.INSECUREREGISTRY) \\\n  -Djib.to.image=$(params.IMAGE) \\\n  $certParams \\\n  compile \\\n  com.google.cloud.tools:jib-maven-plugin:build\n",
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/workspace/.m2",
                                            "name": "$(params.CACHE)",
                                            "subPath": "m2-cache"
                                        },
                                        {
                                            "mountPath": "/workspace/.cache",
                                            "name": "$(params.CACHE)",
                                            "subPath": "jib-cache"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/$(params.DIRECTORY)"
                                },
                                {
                                    "image": "$(params.MAVEN_IMAGE)",
                                    "name": "digest-to-results",
                                    "script": "cat $(workspaces.source.path)/$(params.DIRECTORY)/target/jib-image.digest | tee $(results.IMAGE_DIGEST.path)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "empty-dir-volume"
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source"
                                },
                                {
                                    "mountPath": "/tekton-custom-certs",
                                    "name": "sslcertdir",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/categories": "Deployment",
                                "tekton.dev/deprecated": "true",
                                "tekton.dev/pipelines.minVersion": "0.12.1",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                "tekton.dev/tags": "helm"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.3",
                                "operator.tekton.dev/provider-type": "community"
                            },
                            "name": "helm-upgrade-from-source",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "These tasks will install / upgrade a helm chart into your Kubernetes / OpenShift Cluster using Helm",
                            "params": [
                                {
                                    "description": "The directory in source that contains the helm chart",
                                    "name": "charts_dir"
                                },
                                {
                                    "default": "v1.0.0",
                                    "description": "The helm release version in semantic versioning format",
                                    "name": "release_version"
                                },
                                {
                                    "default": "helm-release",
                                    "description": "The helm release name",
                                    "name": "release_name"
                                },
                                {
                                    "default": "",
                                    "description": "The helm release namespace",
                                    "name": "release_namespace"
                                },
                                {
                                    "default": "",
                                    "description": "Specify the values you want to overwrite, comma separated: autoscaling.enabled=true,replicas=1",
                                    "name": "overwrite_values"
                                },
                                {
                                    "default": "values.yaml",
                                    "description": "The values file to be used",
                                    "name": "values_file"
                                },
                                {
                                    "default": "docker.io/lachlanevenson/k8s-helm@sha256:5c792f29950b388de24e7448d378881f68b3df73a7b30769a6aa861061fd08ae",
                                    "description": "helm image to be used",
                                    "name": "helm_image"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the helm upgrade command",
                                    "name": "upgrade_extra_params"
                                }
                            ],
                            "steps": [
                                {
                                    "image": "$(params.helm_image)",
                                    "name": "upgrade",
                                    "script": "echo current installed helm releases\nhelm list --namespace \"$(params.release_namespace)\"\n\necho installing helm chart...\nhelm upgrade --install --wait --values \"$(params.charts_dir)/$(params.values_file)\" --namespace \"$(params.release_namespace)\" --version \"$(params.release_version)\" \"$(params.release_name)\" \"$(params.charts_dir)\" --debug --set \"$(params.overwrite_values)\" $(params.upgrade_extra_params)\n",
                                    "workingDir": "/workspace/source"
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/categories": "Deployment",
                                "tekton.dev/deprecated": "true",
                                "tekton.dev/pipelines.minVersion": "0.12.1",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                "tekton.dev/tags": "helm"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2",
                                "operator.tekton.dev/provider-type": "community"
                            },
                            "name": "helm-upgrade-from-repo",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "These tasks will install / upgrade a helm chart into your Kubernetes / OpenShift Cluster using Helm",
                            "params": [
                                {
                                    "description": "Specify a specific helm repo",
                                    "name": "helm_repo"
                                },
                                {
                                    "description": "Specify chart name that will be deployed",
                                    "name": "chart_name"
                                },
                                {
                                    "default": "v1.0.0",
                                    "description": "The helm release version in semantic versioning format",
                                    "name": "release_version"
                                },
                                {
                                    "default": "helm-release",
                                    "description": "The helm release name",
                                    "name": "release_name"
                                },
                                {
                                    "default": "",
                                    "description": "The helm release namespace",
                                    "name": "release_namespace"
                                },
                                {
                                    "default": "",
                                    "description": "Specify the values you want to overwrite, comma separated: autoscaling.enabled=true,replicas=1",
                                    "name": "overwrite_values"
                                },
                                {
                                    "default": "docker.io/lachlanevenson/k8s-helm@sha256:5c792f29950b388de24e7448d378881f68b3df73a7b30769a6aa861061fd08ae",
                                    "description": "Specify a specific helm image",
                                    "name": "helm_image"
                                }
                            ],
                            "steps": [
                                {
                                    "image": "$(params.helm_image)",
                                    "name": "upgrade-from-repo",
                                    "script": "echo current installed helm releases\nhelm list --namespace \"$(params.release_namespace)\"\necho parsing helms repo name...\nREPO=`echo \"$(params.chart_name)\" | cut -d \"/\" -f 1`\necho adding helm repo...\nhelm repo add $REPO \"$(params.helm_repo)\"\necho adding updating repo...\nhelm repo update\necho installing helm chart...\nhelm upgrade --wait --install --namespace \"$(params.release_namespace)\" $(params.release_name) $(params.chart_name) --debug --set \"$(params.overwrite_values)\"\n"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/categories": "Automation, Continuous Integration",
                                "tekton.dev/displayName": "trigger jenkins job",
                                "tekton.dev/pipelines.minVersion": "0.12.1",
                                "tekton.dev/tags": "jenkins, build"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.1",
                                "operator.tekton.dev/provider-type": "community"
                            },
                            "name": "trigger-jenkins-job",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "The following task can be used to trigger a Jenkins job using CURL request from a Tekton Task.",
                            "params": [
                                {
                                    "description": "Server URL on which Jenkins is running",
                                    "name": "JENKINS_HOST_URL",
                                    "type": "string"
                                },
                                {
                                    "description": "Jenkins Job which needs to be triggered",
                                    "name": "JOB_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": "jenkins-credentials",
                                    "description": "Jenkins secret containing credentials",
                                    "name": "JENKINS_SECRETS",
                                    "type": "string"
                                },
                                {
                                    "default": [
                                        ""
                                    ],
                                    "description": "Extra arguments to append as a part of CURL request",
                                    "name": "JOB_PARAMS",
                                    "type": "array"
                                }
                            ],
                            "steps": [
                                {
                                    "args": [
                                        "$(params.JOB_PARAMS)"
                                    ],
                                    "env": [
                                        {
                                            "name": "USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.JENKINS_SECRETS)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "apitoken",
                                                    "name": "$(params.JENKINS_SECRETS)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "JENKINS_CRUMB",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "crumb",
                                                    "name": "$(params.JENKINS_SECRETS)"
                                                }
                                            }
                                        }
                                    ],
                                    "image": "registry.access.redhat.com/ubi8/ubi:8.2",
                                    "name": "trigger-pipeline",
                                    "script": "#!/usr/libexec/platform-python\nimport base64\nimport http.cookiejar\nimport os\nimport sys\nimport urllib.request\n\nJENKINS_URL = \"\"\"$(params.JENKINS_HOST_URL)\"\"\"\nJOB_NAME = \"\"\"$(params.JOB_NAME)\"\"\"\nUSERNAME = os.getenv(\"USERNAME\")\nAPITOKEN = os.getenv(\"API_TOKEN\")\n\ndef build_args(args):\n    data = {}\n    filename = \"\"\n    for params in args:\n        if \"@\" in params:\n            filename += params.split(\"=\")[1][1:]\n        elif \"=\" in params:\n            key_value = params.split(\"=\")\n            data[key_value[0]] = key_value[1]\n    if data:\n        data = urllib.parse.urlencode(data).encode(\"utf-8\")\n    return (data, filename)\n\n\ndef get_crumb(headers, cookiejar):\n    url = f\"{JENKINS_URL}/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,%22:%22,//crumb)\"\n    opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookiejar))\n    opener.addheaders = headers\n    return opener.open(url)\n\n\ndef main():\n    data, filename = build_args(sys.argv[1:])\n\n    if data:\n        query_type = \"buildWithParameters\"\n    else:\n        query_type = \"build\"\n    job_url = f\"{JENKINS_URL}/job/{JOB_NAME}/{query_type}\"\n\n    jarhead = http.cookiejar.CookieJar()\n    base64string = base64.b64encode(f\"{USERNAME}:{APITOKEN}\".encode(\"utf-8\"))\n    headers = [(\"Authorization\", f\"Basic {base64string.decode('utf-8')}\")]\n\n    crumb = get_crumb(headers, jarhead).read().decode().replace(\"Jenkins-Crumb:\", \"\")\n    headers.append((\"Jenkins-Crumb\", crumb))\n\n    request = urllib.request.Request(job_url, data=data)\n    if filename:\n        headers.append((\"Content-Type\", \"multipart/form-data\"))\n        headers.append((\"Content-Length\", os.stat(filename).st_size))\n        request = urllib.request.Request(job_url, open(filename, \"rb\"))\n\n    opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(jarhead))\n    opener.addheaders = headers\n    with opener.open(request) as handle:\n        print(f\"Job has started, status: {handle.status}\")\n        handle.read().decode(\"utf-8\")\nmain()\n",
                                    "workingDir": "$(workspaces.source.path)"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "The workspace which can be used to mount files which can be send via CURL request to Jenkins job.",
                                    "name": "source"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/categories": "Git",
                                "tekton.dev/deprecated": "true",
                                "tekton.dev/displayName": "pull request",
                                "tekton.dev/pipelines.minVersion": "0.12.1",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le",
                                "tekton.dev/tags": "SCM"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.1",
                                "operator.tekton.dev/provider-type": "community"
                            },
                            "name": "pull-request",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This Task allows a user to interact with an SCM (source control management) system through an abstracted interface\nThis Task works with both public SCM instances and self-hosted/enterprise GitHub/GitLab instances. In download mode, this Task will look at the state of an existing pull request and populate the pr workspace with the state of the pull request, including the .MANIFEST file. In upload mode, this Task will look at the contents of the pr workspace and compare it to the .MANIFEST file (if it exists).",
                            "params": [
                                {
                                    "description": "If \"download\", the state of the pull request at `url` will be fetched. If \"upload\" then the pull request at `url` will be updated.",
                                    "name": "mode"
                                },
                                {
                                    "description": "The URL of the Pull Reuqest, e.g. `https://github.com/bobcatfish/catservice/pull/16`",
                                    "name": "url"
                                },
                                {
                                    "description": "The type of SCM system, currently `github` or `gitlab`",
                                    "name": "provider"
                                },
                                {
                                    "description": "The name of an opaque secret containing a key called \"token\" with a base64 encoded SCM token",
                                    "name": "secret-key-ref"
                                },
                                {
                                    "default": "false",
                                    "description": "If \"true\", certificate validation will be disabled",
                                    "name": "insecure-skip-tls-verify"
                                }
                            ],
                            "steps": [
                                {
                                    "args": [
                                        "-url",
                                        "$(params.url)",
                                        "-path",
                                        "$(workspaces.pr.path)",
                                        "-mode",
                                        "$(params.mode)",
                                        "-provider",
                                        "$(params.provider)",
                                        "-insecure-skip-tls-verify",
                                        "$(params.insecure-skip-tls-verify)"
                                    ],
                                    "command": [
                                        "/ko-app/pullrequest-init"
                                    ],
                                    "env": [
                                        {
                                            "name": "AUTH_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "token",
                                                    "name": "$(params.secret-key-ref)"
                                                }
                                            }
                                        }
                                    ],
                                    "image": "ghcr.io/tektoncd/github.com/tektoncd/pipeline/cmd/pullrequest-init@sha256:69633ecd0e948f6462c61bb9e008b940a05b143ef51c67e6e4093278a23dac53",
                                    "name": "pullrequest-init"
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "pr"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/categories": "Deployment, Kubernetes",
                                "tekton.dev/deprecated": "true",
                                "tekton.dev/displayName": "kubeconfig creator",
                                "tekton.dev/pipelines.minVersion": "0.12.1",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le",
                                "tekton.dev/tags": "deploy"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.1",
                                "operator.tekton.dev/provider-type": "community"
                            },
                            "name": "kubeconfig-creator",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This Task do a similar job to the Cluster PipelineResource and are intended as its replacement.\nThis task creates a kubeconfig file that can be used to configure access to the different clusters. A common use case for this task is to deploy your application/function on different clusters. The task will use the kubeconfigwriter image and the provided parameters to create a kubeconfig file that can be used by other tasks in the pipeline to access the target cluster.",
                            "params": [
                                {
                                    "description": "name of the cluster",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "description": "address of the cluster",
                                    "name": "url",
                                    "type": "string"
                                },
                                {
                                    "description": "username for basic authentication to the cluster",
                                    "name": "username",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "password for basic authentication to the cluster",
                                    "name": "password",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "contains PEM-encoded certificate authority certificates",
                                    "name": "cadata",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "contains PEM-encoded data from a client key file for TLS",
                                    "name": "clientKeyData",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "contains PEM-encoded data from a client cert file for TLS",
                                    "name": "clientCertificateData",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "default namespace to use on unspecified requests",
                                    "name": "namespace",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "bearer token for authentication to the cluster",
                                    "name": "token",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "to indicate server should be accessed without verifying the TLS certificate",
                                    "name": "insecure",
                                    "type": "string"
                                }
                            ],
                            "steps": [
                                {
                                    "args": [
                                        "-clusterConfig",
                                        "{ \"name\":\"$(params.name)\", \"url\":\"$(params.url)\", \"username\":\"$(params.username)\", \"password\":\"$(params.password)\", \"cadata\":\"$(params.cadata)\", \"clientKeyData\":\"$(params.clientKeyData)\", \"clientCertificateData\":\"$(params.clientCertificateData)\", \"namespace\":\"$(params.namespace)\", \"token\":\"$(params.token)\", \"Insecure\":$(params.insecure) }",
                                        "-destinationDir",
                                        "$(workspaces.output.path)"
                                    ],
                                    "command": [
                                        "/ko-app/kubeconfigwriter"
                                    ],
                                    "image": "ghcr.io/tektoncd/github.com/tektoncd/pipeline/cmd/kubeconfigwriter@sha256:b2c6d0962cda88fb3095128b6202da9b0e6c9c0df3ef6cf7863505ffd25072fd",
                                    "name": "write"
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "output"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/categories": "Deployment",
                                "tekton.dev/displayName": "argocd",
                                "tekton.dev/pipelines.minVersion": "0.12.1",
                                "tekton.dev/platforms": "linux/amd64",
                                "tekton.dev/tags": "deploy"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2",
                                "operator.tekton.dev/provider-type": "community"
                            },
                            "name": "argocd-task-sync-and-wait",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This task syncs (deploys) an Argo CD application and waits for it to be healthy.\nTo do so, it requires the address of the Argo CD server and some form of authentication either a username/password or an authentication token.",
                            "params": [
                                {
                                    "description": "name of the application to sync",
                                    "name": "application-name",
                                    "type": "string"
                                },
                                {
                                    "default": "HEAD",
                                    "description": "the revision to sync to",
                                    "name": "revision",
                                    "type": "string"
                                },
                                {
                                    "default": "--",
                                    "name": "flags",
                                    "type": "string"
                                },
                                {
                                    "default": "v2.2.2",
                                    "name": "argocd-version",
                                    "type": "string"
                                }
                            ],
                            "stepTemplate": {
                                "envFrom": [
                                    {
                                        "configMapRef": {
                                            "name": "argocd-env-configmap"
                                        }
                                    },
                                    {
                                        "secretRef": {
                                            "name": "argocd-env-secret"
                                        }
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "image": "quay.io/argoproj/argocd:$(params.argocd-version)",
                                    "name": "login",
                                    "script": "if [ -z \"$ARGOCD_AUTH_TOKEN\" ]; then\n  yes | argocd login \"$ARGOCD_SERVER\" --username=\"$ARGOCD_USERNAME\" --password=\"$ARGOCD_PASSWORD\";\nfi\nargocd app sync \"$(params.application-name)\" --revision \"$(params.revision)\" \"$(params.flags)\"\nargocd app wait \"$(params.application-name)\" --health \"$(params.flags)\"\n"
                                }
                            ]
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "932255a18d4b2e23c4733c9c399a5196f317416e15cff677e6f86ec95ab23cf0",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:12Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "addon-custom-consolecli-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonAddon",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "custom-consolecli"
                },
                "name": "addon-custom-consolecli-dfl4v",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonAddon",
                        "name": "addon",
                        "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                    }
                ],
                "resourceVersion": "22804",
                "uid": "3333727e-a62d-4139-a43c-a3866b042463"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleCLIDownload",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "tkn",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "The OpenShift Pipeline client `tkn` is a CLI tool that allows you to manage OpenShift Pipeline resources.",
                            "displayName": "tkn - OpenShift Pipeline Command Line Interface (CLI)",
                            "links": [
                                {
                                    "href": "https://tkn-cli-serve-openshift-pipelines.apps.rosa.kx-f1cb2dbfda.qmca.p3.openshiftapps.com/tkn/tkn-linux-amd64.tar.gz",
                                    "text": "Download tkn and tkn-pac for Linux x86_64"
                                },
                                {
                                    "href": "https://tkn-cli-serve-openshift-pipelines.apps.rosa.kx-f1cb2dbfda.qmca.p3.openshiftapps.com/tkn/tkn-linux-arm64.tar.gz",
                                    "text": "Download tkn and tkn-pac for Linux ARM 64"
                                },
                                {
                                    "href": "https://tkn-cli-serve-openshift-pipelines.apps.rosa.kx-f1cb2dbfda.qmca.p3.openshiftapps.com/tkn/tkn-linux-ppc64le.tar.gz",
                                    "text": "Download tkn and tkn-pac for IBM Power"
                                },
                                {
                                    "href": "https://tkn-cli-serve-openshift-pipelines.apps.rosa.kx-f1cb2dbfda.qmca.p3.openshiftapps.com/tkn/tkn-linux-s390x.tar.gz",
                                    "text": "Download tkn and tkn-pac for IBM Z"
                                },
                                {
                                    "href": "https://tkn-cli-serve-openshift-pipelines.apps.rosa.kx-f1cb2dbfda.qmca.p3.openshiftapps.com/tkn/tkn-macos-amd64.tar.gz",
                                    "text": "Download tkn and tkn-pac for Mac x86_64"
                                },
                                {
                                    "href": "https://tkn-cli-serve-openshift-pipelines.apps.rosa.kx-f1cb2dbfda.qmca.p3.openshiftapps.com/tkn/tkn-macos-arm64.tar.gz",
                                    "text": "Download tkn and tkn-pac for Mac ARM 64"
                                },
                                {
                                    "href": "https://tkn-cli-serve-openshift-pipelines.apps.rosa.kx-f1cb2dbfda.qmca.p3.openshiftapps.com/tkn/tkn-windows-amd64.zip",
                                    "text": "Download tkn and tkn-pac for Windows x86_64"
                                },
                                {
                                    "href": "https://tkn-cli-serve-openshift-pipelines.apps.rosa.kx-f1cb2dbfda.qmca.p3.openshiftapps.com/tkn/tkn-windows-arm64.zip",
                                    "text": "Download tkn and tkn-pac for Windows ARM 64"
                                }
                            ]
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:15Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:14Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:15Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:14Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:15Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:15Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:15Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:15Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:15Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:15Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "932255a18d4b2e23c4733c9c399a5196f317416e15cff677e6f86ec95ab23cf0",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:08Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "addon-custom-openshiftconsole-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonAddon",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "custom-openshiftconsole"
                },
                "name": "addon-custom-openshiftconsole-sl4nr",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonAddon",
                        "name": "addon",
                        "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                    }
                ],
                "resourceVersion": "22947",
                "uid": "f3a73a0c-7cb8-4809-b03e-0fba6fc79e68"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "tkncliserve",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "tkn-cli-serve",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app": "tkn-cli-serve"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tkn-cli-serve"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-serve-tkn-cli-rhel9@sha256:050fe6fe1298c45a27982e3f4d0afe637ce01d9b394e85b7eb202309ecdd0731",
                                            "name": "tkn-cli-serve",
                                            "ports": [
                                                {
                                                    "containerPort": 8080
                                                }
                                            ],
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                }
                                            }
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    }
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "tkncliserve",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "tkn-cli-serve",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "port": 8080,
                                    "protocol": "TCP",
                                    "targetPort": 8080
                                }
                            ],
                            "selector": {
                                "app": "tkn-cli-serve"
                            }
                        }
                    },
                    {
                        "apiVersion": "route.openshift.io/v1",
                        "kind": "Route",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "tkncliserve",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "tkn-cli-serve",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "path": "/tkn",
                            "port": {
                                "targetPort": 8080
                            },
                            "tls": {
                                "insecureEdgeTerminationPolicy": "Redirect",
                                "termination": "edge"
                            },
                            "to": {
                                "kind": "Service",
                                "name": "tkn-cli-serve"
                            }
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleYAMLSample",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "docker-build-and-deploy-pipeline",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "An example of docker build and deploy pipeline",
                            "snippet": false,
                            "targetResource": {
                                "apiVersion": "tekton.dev/v1",
                                "kind": "Pipeline"
                            },
                            "title": "docker-build-and-deploy-pipeline",
                            "yaml": "apiVersion: tekton.dev/v1\nkind: Pipeline\nmetadata:\n  name: docker-build-and-deploy-pr\nspec:\n  params:\n    - name: IMAGE_NAME\n      type: string\n    - name: GIT_REPO\n      type: string\n    - name: GIT_REVISION\n      type: string\n  workspaces:\n    - name: workspace\n  tasks:\n    - name: fetch-repository\n      taskRef:\n        resolver: cluster\n        params:\n        - name: kind\n          value: task\n        - name: name\n          value: git-clone\n        - name: namespace\n          value: openshift-pipelines\n      workspaces:\n        - name: output\n          workspace: workspace\n      params:\n        - name: URL\n          value: $(params.GIT_REPO)\n        - name: REVISION\n          value: $(params.GIT_REVISION)\n        - name: SUBDIRECTORY\n          value: \"\"\n        - name: DELETE_EXISTING\n          value: \"true\"\n\n    - name: build\n      taskRef:\n        resolver: cluster\n        params:\n        - name: kind\n          value: task\n        - name: name\n          value: buildah\n        - name: namespace\n          value: openshift-pipelines\n      runAfter:\n        - fetch-repository\n      workspaces:\n        - name: source\n          workspace: workspace\n      params:\n        - name: IMAGE\n          value: $(params.IMAGE_NAME)\n        - name: TLS_VERIFY\n          value: \"false\"\n\n    - name: deploy\n      taskRef:\n        resolver: cluster\n        params:\n        - name: kind\n          value: task\n        - name: name\n          value: openshift-client\n        - name: namespace\n          value: openshift-pipelines\n      runAfter:\n        - build\n      params:\n      - name: SCRIPT\n        value: |\n          oc new-app --docker-image $(params.IMAGE_NAME)\n"
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleYAMLSample",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "s2i-build-and-deploy-pipeline",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "An example of s2i build and deploy pipeline using workspace",
                            "snippet": false,
                            "targetResource": {
                                "apiVersion": "tekton.dev/v1",
                                "kind": "Pipeline"
                            },
                            "title": "s2i-build-and-deploy-pipeline-using-workspace",
                            "yaml": "apiVersion: tekton.dev/v1\nkind: Pipeline\nmetadata:\n  name: s2i-build-and-deploy\nspec:\n  params:\n    - name: IMAGE_NAME\n      type: string\n    - name: GIT_REPO\n      type: string\n    - name: GIT_REVISION\n      type: string\n  workspaces:\n    - name: workspace\n  tasks:\n    - name: fetch-repository\n      taskRef:\n        resolver: cluster\n        params:\n        - name: kind\n          value: task\n        - name: name\n          value: git-clone\n        - name: namespace\n          value: openshift-pipelines\n      workspaces:\n        - name: output\n          workspace: workspace\n      params:\n        - name: URL\n          value: $(params.GIT_REPO)\n        - name: REVISION\n          value: $(params.GIT_REVISION)\n        - name: SUBDIRECTORY\n          value: \"\"\n        - name: DELETE_EXISTING\n          value: \"true\"\n\n    - name: build\n      taskRef:\n        resolver: cluster\n        params:\n        - name: kind\n          value: task\n        - name: name\n          value: s2i-java\n        - name: namespace\n          value: openshift-pipelines\n      runAfter:\n        - fetch-repository\n      workspaces:\n        - name: source\n          workspace: workspace\n      params:\n        - name: IMAGE\n          value: $(params.IMAGE_NAME)\n        - name: TLS_VERIFY\n          value: \"false\"\n\n    - name: deploy\n      taskRef:\n        resolver: cluster\n        params:\n        - name: kind\n          value: task\n        - name: name\n          value: openshift-client\n        - name: namespace\n          value: openshift-pipelines\n      runAfter:\n        - build\n      params:\n      - name: SCRIPT\n        value: |\n          oc new-app --docker-image $(params.IMAGE_NAME)\n"
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleYAMLSample",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "simple-pipeline",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "An example of simple pipeline to build and deploy",
                            "snippet": false,
                            "targetResource": {
                                "apiVersion": "tekton.dev/v1",
                                "kind": "Pipeline"
                            },
                            "title": "simple-pipeline",
                            "yaml": "apiVersion: tekton.dev/v1\nkind: Pipeline\nmetadata:\n  name: build-and-deploy\nspec:\n  params:\n    - name: IMAGE_NAME\n      type: string\n    - name: GIT_REPO\n      type: string\n    - name: GIT_REVISION\n      type: string\n  workspaces:\n    - name: workspace\n  tasks:\n    - name: fetch-repository\n      taskRef:\n        resolver: cluster\n        params:\n        - name: kind\n          value: task\n        - name: name\n          value: git-clone\n        - name: namespace\n          value: openshift-pipelines\n      workspaces:\n        - name: output\n          workspace: workspace\n      params:\n        - name: URL\n          value: $(params.GIT_REPO)\n        - name: REVISION\n          value: $(params.GIT_REVISION)\n        - name: SUBDIRECTORY\n          value: \"\"\n        - name: DELETE_EXISTING\n          value: \"true\"\n\n    - name: build\n      taskRef:\n        resolver: cluster\n        params:\n        - name: kind\n          value: task\n        - name: name\n          value: s2i-nodejs\n        - name: namespace\n          value: openshift-pipelines\n      runAfter:\n        - fetch-repository\n      workspaces:\n        - name: source\n          workspace: workspace\n      params:\n        - name: IMAGE\n          value: $(params.IMAGE_NAME)\n        - name: TLS_VERIFY\n          value: \"false\"\n\n    - name: deploy\n      taskRef:\n        resolver: cluster\n        params:\n        - name: kind\n          value: task\n        - name: name\n          value: openshift-client\n        - name: namespace\n          value: openshift-pipelines\n      runAfter:\n        - build\n      params:\n      - name: SCRIPT\n        value: |\n          oc new-app --docker-image $(params.IMAGE_NAME)\n"
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleYAMLSample",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "buildah-snippet",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Buildash task builds the source into a container image Project Atomic's Buildah build tool.\nIt uses Buildah's support for building from Dockerfiles, using its buildah bud command.\nThis command executes the directives in the Dockerfile to assemble a container image, then pushes that image to a container registry.\n",
                            "snippet": true,
                            "targetResource": {
                                "apiVersion": "tekton.dev/v1",
                                "kind": "Pipeline"
                            },
                            "title": "Buildah Task",
                            "yaml": "- name: build\n  taskRef:\n    resolver: cluster\n    params:\n    - name: kind\n      value: task\n    - name: name\n      value: buildah\n    - name: namespace\n      value: openshift-pipelines\n  workspaces:\n    - name: source\n      workspace: workspace\n  params:\n    - name: IMAGE\n      value: $(params.IMAGE_NAME)\n    - name: DOCKERFILE\n      value: ./Dockerfile\n    - name: TLS_VERIFY\n      value: \"true\"\n"
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleYAMLSample",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "openshift-client-snippet",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "OpenShift is a Kubernetes distribution from Red Hat which provides oc, the OpenShift CLI that complements kubectl for simplifying deployment and configuration applications on OpenShift.\n",
                            "snippet": true,
                            "targetResource": {
                                "apiVersion": "tekton.dev/v1",
                                "kind": "Pipeline"
                            },
                            "title": "Openshift-client Task",
                            "yaml": "- name: deploy\n  taskRef:\n    resolver: cluster\n    params:\n    - name: kind\n      value: task\n    - name: name\n      value: openshift-client\n    - name: namespace\n      value: openshift-pipelines\n  params:\n    - name: ARGS\n      value: \"help\"\n"
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleYAMLSample",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "s2i-go-snippet",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "An s2i task to build go based source.\nSource-to-Image (S2I) is a toolkit and workflow for building reproducible container images from source code.\nS2I produces images by injecting source code into a base S2I container image and letting the container prepare that source code for execution.\nThe base S2I container images contains the language runtime and build tools needed for building and running the source code.\n",
                            "snippet": true,
                            "targetResource": {
                                "apiVersion": "tekton.dev/v1",
                                "kind": "Pipeline"
                            },
                            "title": "S2I-Go Workspace based Task",
                            "yaml": "- name: build\n  taskRef:\n    resolver: cluster\n    params:\n    - name: kind\n      value: task\n    - name: name\n      value: s2i-go\n    - name: namespace\n      value: openshift-pipelines\n  workspaces:\n    - name: source\n      workspace: workspace\n  params:\n    - name: IMAGE\n      value: $(params.IMAGE_NAME)\n    - name: CONTEXT\n      value: .\n    - name: TLS_VERIFY\n      value: \"true\"\n"
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleYAMLSample",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "s2i-java-snippet",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "An s2i task to build java based source.\nSource-to-Image (S2I) is a toolkit and workflow for building reproducible container images from source code.\nS2I produces images by injecting source code into a base S2I container image and letting the container prepare that source code for execution.\nThe base S2I container images contains the language runtime and build tools needed for building and running the source code.\n",
                            "snippet": true,
                            "targetResource": {
                                "apiVersion": "tekton.dev/v1",
                                "kind": "Pipeline"
                            },
                            "title": "S2I-Java Workspace based Task",
                            "yaml": "- name: build\n  taskRef:\n    resolver: cluster\n    params:\n    - name: kind\n      value: task\n    - name: name\n      value: s2i-java\n    - name: namespace\n      value: openshift-pipelines\n  workspaces:\n    - name: source\n      workspace: workspace\n  params:\n    - name: IMAGE\n      value: $(params.IMAGE_NAME)\n    - name: CONTEXT\n      value: .\n    - name: TLS_VERIFY\n      value: \"true\"\n"
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleYAMLSample",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "s2i-nodejs-snippet",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "An s2i task to build nodejs based source.\nSource-to-Image (S2I) is a toolkit and workflow for building reproducible container images from source code.\nS2I produces images by injecting source code into a base S2I container image and letting the container prepare that source code for execution.\nThe base S2I container images contains the language runtime and build tools needed for building and running the source code.\n",
                            "snippet": true,
                            "targetResource": {
                                "apiVersion": "tekton.dev/v1",
                                "kind": "Pipeline"
                            },
                            "title": "S2I-Nodejs Workspace based Task",
                            "yaml": "- name: build\n  taskRef:\n    resolver: cluster\n    params:\n    - name: kind\n      value: task\n    - name: name\n      value: s2i-nodejs\n    - name: namespace\n      value: openshift-pipelines\n  workspaces:\n    - name: source\n      workspace: workspace\n  params:\n    - name: IMAGE\n      value: $(params.IMAGE_NAME)\n    - name: VERSION\n      value: \"14-ubi8\"\n    - name: CONTEXT\n      value: .\n    - name: TLS_VERIFY\n      value: \"true\"\n"
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleYAMLSample",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "s2i-python-snippet",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "An s2i task to build python based source.\nSource-to-Image (S2I) is a toolkit and workflow for building reproducible container images from source code.\nS2I produces images by injecting source code into a base S2I container image and letting the container prepare that source code for execution.\nThe base S2I container images contains the language runtime and build tools needed for building and running the source code.\n",
                            "snippet": true,
                            "targetResource": {
                                "apiVersion": "tekton.dev/v1",
                                "kind": "Pipeline"
                            },
                            "title": "S2I-Python Workspace based Task",
                            "yaml": "- name: build\n  taskRef:\n    resolver: cluster\n    params:\n    - name: kind\n      value: task\n    - name: name\n      value: s2i-python\n    - name: namespace\n      value: openshift-pipelines\n  workspaces:\n    - name: source\n      workspace: workspace\n  params:\n    - name: IMAGE\n      value: $(params.IMAGE_NAME)\n    - name: VERSION\n      value: \"3.8-ubi8\"\n    - name: CONTEXT\n      value: .\n    - name: TLS_VERIFY\n      value: \"true\"\n"
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleQuickStart",
                        "metadata": {
                            "annotations": {
                                "include.release.openshift.io/ibm-cloud-managed": "true",
                                "include.release.openshift.io/self-managed-high-availability": "true",
                                "include.release.openshift.io/single-node-developer": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "configure-pipeline-metrics",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "accessReviewResources": [
                                {
                                    "group": "operator.tekton.dev",
                                    "resource": "tektonconfigs",
                                    "verb": "update"
                                }
                            ],
                            "conclusion": "Pipelinerun and Taskrun metrics are now configured in your cluster.",
                            "description": "Configure Pipeline metrics to use pipelinerun/taskrun level.",
                            "displayName": "Configure pipeline metrics level",
                            "durationMinutes": 5,
                            "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAABlCAYAAABUfC3PAAAQrElEQVR4Xu2dd3wU1RbHfymkQBomkAYEiICCSFDkw3uACaIi0mJBKT4JRgSehSAoyEMMykMUpfgBBaSEjw8BfX4oL4ogQmjqB5CignQSSgrpZdOTeZ8zYdbdzczO3dm5uxtx/oLMnXvPOd97bj33rhuawFOTeVmoPnsC1edOoC4rHbWZ6aLU9P/6smJZDTzDo+AZ3l58531vHNz9g+DVOQa+vQa4ubrKLilg1dnjQnnaVlT9nGbV8FqNS8AIEMFqHhePZhEdXMoOLiOMYe8WoWLfVhAMpdqvFYLadwTJNzYefsMS4N2lp9Nt4lQBqFkq+XwJDKkpDgehBIoA+Y9OQuCYqU6zjVMKrji6VyhelYzKY/vUKrFT3/sNHYfAF5Id3rw5FEpTgWFZExwNxyFQqOMu/DDJ5T1DzS39R01B8PSl3G3GvYD8D6YIpZuWqunbZN67+wWKTRrPPocbFGqq8ucmoDYro8kY3BZBfe6JRXByCpf+hguUP5t3KMEir2k5bQn8h43X1Y66ZkZD3Nxp8ag+f9KWStfk09JAICR5vW621C0jaq5yp8e7zHzD0aS9OvVAxMaTuthTl0xK/7dOyJ873tF2cLnyaOLZ6oOtdq8K2A3lLyDmdYP6mdCVaXaBsQvKX0DkndWtRQCC522EX/8hmuyr6SMSxVWA0PK8z71x8IxoWKan5fzKn9NQX1rklOZNAFBSA9TDDR3f34jAQaNstrHNH7gKEFp6p+EozRfkHpqwFq1KdigcCUgd/QOAm5s2MDZDoSX23Ncec0otlAr1G5qA4LfWqcpQdeFX5E4dirrsK6pp7U1gCUTKz8PTEz2O1dpkZ5sS0xpWzsQ4pw57yUPCNxxXtaEgCCgpKYFQVYniIWGq6e1JoAREyrOZjy+6H65gtjVzQiogc3QPwdkTQxrZKDVZkhEkIHV1dQ3NyO+HUZI02B67K36rBkT6sEW7aHRJvchkb6ZElPGNaSOE8n3buCjGmimLl1gCobzdhXoUP9KKtRjmdKxApAwjE2cidMoCVZurJnCVjp3kCBidhJavLlautTebLMlDTBNWTh+Gml9/YDa4WkJbgUgdf+eU/WjRs79Vu6tCofWsrDExTu1HJAMF0ZL5hLdk7SXnIaYJa1fPQcWXy9VszfReCxApY++AIHQ7WGQfFGc3W7R0EZj4Jnz7DoFHiHyHrQaEDOLv1wJuN66h9ItlKNm4hMn4consASLlF/p4IiKT1yiCsUrMmcNf7x79EJKcAs/IjhCqK1Hx407UXD6NwPGzzGzFAkRsOjYvRouBT8Ar+i7x+/IDqShclGTTfo8eQKRmrOdJQRuUa8OiBEdvUpFnhH78PTzbRKP22kUUfPAKKg59IxqSZu+R2y8bobACsezoW770LvyemAT3FoGgwQvLvEsvIJLwAXfG4PbNJ2TBKNIq/nyxULhoqmY31/Jhq4Vb0Dx2BGpvXEPev8ag6uTBRtkEv5UC2r9gBUIZCLs3oWzhi43yooFD0Ivzxb8XLZ9l1qzRBNWrSwwKPkyC3kAkQbqsPyDb6StCuRIXKDgqKI68IzzlMNwDb0Ph0testvkUfhqxPR1ldYDcKMvS8u6VBhSPaGe1joR+9C18/jYIVcf2IXtiHKQVA5qTZY6JEdeypKUTLZVN6RuluYssFN5eIi0iUk30+ftgNGvXGbWZl5EzaQBTG+/9wJPwnrFSrMHWHvfaGpQl9mZaZmnx0NM3l24EuHk3N2b7S4wbFyDWvEUWCo++hEBQFIi4ohse1ciW1K5TyCrr4xHWDn4Lt0No3bYRHFEpDbP4215dLEZHmj7nEweg7Ggaq1g2p5PzlkZQeC7JS/2BnOQZ96lOmRQV9h35IjzadxXf16Wf1jQfUZIte8VcZH2SbLOxWT+glWTLkVgjS2S/ECvwDCeVU14cAU2PZ9VD93TWVp0NJw7h3Lh+updpmmHwwHhELd5qZGEGhWbv14d34CoAzT/CVh8wK4P298tSU7iWq5Y5DSAo8t4rNh4BcSOMyYW6Wpy4p5na53a9t1xFNoPCu4MnydsdLBcP/dQV3jCu9lJFqM1qOAjkrMdy2Bv4QDxaPvwUgh58AqU/7MTFV4ZzFS164SbjLqUZFN5L82Er0+DVrTeu9GsunqyiZXh6aG3NmY+1eUhAv0cRvfxrpL8+CoU7N3MT03QyaYTCu+ny7fsoWi/5GnmzRsHwXYNy0pE32lN31sMyMey0Jg3Nu/fGyd5/DJX1lte0CTNC4d10td1biJpzJ8XJmas8LEAkWWOOVqEg9TNcSX6em/jSDN8IhedqsLgPMnURro+gvsM1Ar5tAUIUWo1NQpvXFuHU4A6o5qSDtHpshMJzWcXVvMRWIJJr3H2wEEW7v+LmLdJEUoRCARFZY3tycUtxCPzpfpfxEq1AyDhtZn6EkKcmcxsiS5EvIhSes3iKPHFv7o/rj93OBbotmdoDxNi3HKtBxhvPcBuJ3fML3EQohSvfEoo/nWuLfsxpo36qQf6CySjbupr5Gx4J9QBCct2xuSG86czTfFqWqBmLIULRe2mFFh8pjNSn1wBxKzejtzsPOzPnqRcQKjD0uRkIf/nfuDDhQbF8vRcraclFhKLXpJFub6CVYDqrYfmUpa4HHdN29MxdLyB+veIQPjkZfr0ah8kWbF8vLlpW37yehLm2yCRseV9sA5T0XqpbE6rlWFsBlj6mTbOcpKGoltlRVC1AQwK9gLR5fQlajZ1iVYK6smJkrngbeZ8t0iDpH59QtIsuUFiAULFVVVUoNxhQ9d5EVO35r13Cq32sFxDyjrBJ8mFNpjKQbgaDASUr5qBws/ZQJhEKHYujHT+tD21aha7Yq/q5JDQlpB1BnvG9egHximiPbjv+CNRQUtJUNzehHukPaI/G1AUKHSejYAdrj6nQUjo9g+NMy9YLCOUZ9U4Kbhs+zmbdKndtQs67jQM1VGvuzQR2e0rUEes75XJAqGweQdd6AiEZu32bDi+ZrWvJuEq64cZVZDytfeWbKxRFoakJY4gyYa1ZlE5vIJRnz5PKFc6abm6VBqQPth5BY003blCsCS32KzpC4QHEGhQ13VwSiprQIpQrZ1A8oa8tziCblhcQpeaLRTe34nykx3fWrJvdnmLZ0bMILTY3ClGLtmjCE4hcR8+qW81Pu5D5xmhbVDFLazcUmsVTuCk9rELrcYiHNxDSh2bxndY0DPdZdaOJ3/XRPVGj8Zwl7UDqMnkkb/Ho84g4eWJ56r9aBsMq9QmZUl6OACKVTbP5gCcnMetmr5foNqOnvXb/TWdQ76keimNvs+VIIBKYqA1HgIiO6vXNzqEwFWCEoleYasCSHcCdvWUX0qjJql6TrCl6UbKGM4AYPWbZDnh2k9eNZvFlX36MvE+0e79UDkW16L50TzG+vv+YAffIjvBs3UY89FO67HW7YPCah6hXffMUzcLaofXL8+E/8HGUHW24lLTy1GFdYEglGVeJeV6aFnW4HtkT7pc9a8JqFGd6iKWMHRdvgU+n7jg9lM9OqnGTi2d4UeSWC6gvykPW+D6sDMzSuRIQEqzH4XLkbliKzKVvaNJH7SMKMxKbL3tXiq0VJIYXTVmIjD7qgwDLfFwNSPDjz6PdnFU4HsNnJ1WKwDeGGOmx0aUEh/bpaecxfx57IJurASHduqZeQE3ONZxP5BNQ6NMqDF2/z24InKBH7316U0DBs1eL5xRZvcUVgbTo2Q+dUw7gXEJ/GI43Poup1iyxvJeORBih8IxoIYFYvcUVgZD83fflovLCKW5eQmVIkfdGKDwD8qhAltBVVwFCO46mQRBhL8xG+D/f5hqyanoFldlRCL0mkUqu2mZHlvjq2uDwRklcBYiHfxAoPPXS1MdQvGeruMnVbccl5Kx7n9uIi4xhevbRDArP+QoVTAdQI7ZcQNXRvSheN1+8VpAeVwFCstBhIZqLUHTK+efiEP3xDlHG3wY2rkgs/QRrGtMbjsyg8G7CRKUTZyNo0juirBRyRCeCCw+noXDPVtQ56d5HU8OZ7svT0ToKIj39aDS3SHsq2/L2vEYHUXk3YbR42XZPoWwFKt67DdfeT9IlqI21hlqmu/tQETz8Ao1/rq8sx7ln+6Li7AmtWap+Z3klSCMoPGf3knSR29Nlz9JTpGHGmwmqSvBKYLp/YloGNWVnRsZwqyyW14HIHl7neVaFlJUL3suYMx4F22w7IUydcvCIBHEziv5ND9Xo0qNpYidt62MtEpJXhZEmjKayykLh2eFTp+4xOAFt3za/LTV/yxqbDuO0fiYJYZOTzZoaU8XotNWlKfHMzQ5Bveu7q3D39ROzoVVgCt4uP3sCZUfSuPV3tAAZPNb8979kofA6lCqNsuguyDu+aDhSQB7i4RckHl2ryc/BuWf6qHaqLEFyoteUFCFn2WzVMFJa02o7azlqC/Nw9Z2JKN6faquTaUqvdEueLBQqQW9vsRz2UqAbdepSM0Pzgc7/+QnNgkNR+O0mpM8cI6uoNGRVs4K0p25tz5zK7LhkK3y79EDpj7twYfIjatnq+l7OS6gARSj0Uq++RW4eQs2F3BCYDnxGTlsoKk/tuOVpXLWoRfquUZCDxTYtwYiatx5+994veufl6SO5rWcpUbR2l6RVKHqsh2mdGLZLXm2M4608/xty1i4QDShFlygpKxd1QkqmDwhGxJR3EfTQSHi3jUZNXjZy1r6H3A3a75O0x22ULmBT9RRKYM+BIq1ATJUlz2k1+iV4t6HABQFwU97LsBYGFBgQAHc3wHD8EDKXzXa4Z5jqRFu+HdbsU3QIq54idpYaj0roAcSyJnb8aDsCY4fJVlC1uKyq1BRkfzjNnsqty7csd9+rQtHS6fMAQnIoHeBRA0Lf2nuYRxcitIUhMwS2zJsJii3NGC8gJIPcyIsFSIP82qMW9QKi1mxJ5TBDYflFCJ5ASGAasdHoS1qbYgVib8C1HlBs+WUIZigkmLXLo3kDkQwjNWGsQFyh6ZK7ktAaaJugUEZyw2RHAZEU6bTtLKoDQpgqsJB+BlfG23/kgqkwmURafm3IZihUbl7yOIGiU+hxNBAqkyIVI1fshhAYbNVWdacO49pLfH43hRWS2r32cvlogiKBKU1dz+0iZRalQybPhd+g0WZwSCHhxlUUfDoPpbv5HgtXk1ELEMpTMxT6+OJTPYTiM7fWT9KqgZDeawViNxTK4OzQaMFw5SKrrLdEOnuA6ALlLzDm9cxeILpBoYwuJ8YKhUcajgfcio+WUZaSnezqUywzzVk6U8hc+574Mxq30kMTw44rd6n+1harTXSFQoUajh8QLk18GDWVFawyNOl0tvxUIKuiukORCv6zN2fUXEU8N4PpJwJZYUjpuEGhAop3bhKuvDn+T+c1chEothreWnquUKSCM6bGCwV7tjX5vob6jogp8xtFn+gJRNfRF4tg1KQVHd3f5ODQxlTI8HFWfwaQRX/WNA7xFEthmgocR8NwSJ+iVjOuJycKBd987nJ9DvUZwcMTuHTiajZxePOlJBANCHLXLoDh/G+oq61lkVv3NNRfBPQdhJBnp+k239AqpFOaL2vCEqCCLz5B+dmTqCop0qqX6nc0pPUOCUVg/yEIGpHgdBCmArscFEtrEqSyH79Dxe8/o+p6OmrLy2z2JvG+E28f+LbvguZ3/w1+9w9xKQiWOrs8FDWvqs1rOLJn+fh07eXShrem1/8BWjy0OmdfIfEAAAAASUVORK5CYII=",
                            "introduction": "Default configuration of the metrics level is set to **pipeline** and **task** and the duration type is set to **histogram**. This configuration exposes the metrics data for the pipeline/task. In order to view the pipelinerun and taskrun related metrics, you need to configure the pipeline metrics level to pipelinrun/taskrun.\n\n```Note: The pipelinerun and taskrun metrics level collects large volume of metrics over time in unbounded cardinality which may lead to metrics unreliability.```",
                            "tags": [
                                "pipelines",
                                "metrics"
                            ],
                            "tasks": [
                                {
                                    "description": "Follow these steps to configure the pipeline metrics level:\n1. Click on the [perspective switcher]{{highlight qs-perspective-switcher}} at the top of the navigation, and select **Developer**.\n1. In the navigation menu, click [Search]{{highlight qs-nav-search}}.\n1. In the project selector, turn on the show default projects option and select **openshift-pipelines** project.\n1. Click the **Resources dropdown** menu and select **TektonConfig**.\n1. In the TektonConfigs list view, select **config**.\n1. In the TektonConfig details page, click on YAML tab to bring up the YAML editor.\n1. Replace the values of the following fields in the YAML editor:\n\n    ```\n      metrics.taskrun.level: taskrun\n      metrics.pipelinerun.level: pipelinerun\n      metrics.taskrun.duration-type: lastvalue\n      metrics.pipelinerun.duration-type: lastvalue\n    ```\n1. Click **Save**.",
                                    "review": {
                                        "failedTaskHelp": "This task isn’t verified yet. Try the task again.",
                                        "instructions": "Verify that the config was successfully changed:\n1. Click on the [perspective switcher]{{highlight qs-perspective-switcher}} at the top of the navigation, and select **Developer**.\n1. In the navigation menu, click [Pipelines]{{highlight qs-nav-pipelines}}.\n1. In the project selector, select your project which has pipelines or create a new pipeline.\n1. On the **Pipelines** page, start a **Pipeline** in the list view.\n1. On completion of the pipeline run,  **Metrics** tab in that pipeline details page should show all 4 charts."
                                    },
                                    "summary": {
                                        "failed": "Try the steps again.",
                                        "success": "Pipeline metrics level is configured for **pipelinerun/taskrun** metrics."
                                    },
                                    "title": "Configure pipeline metrics"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsoleQuickStart",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "install-app-and-associate-pipeline",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "conclusion": "You just created an application and associated a pipeline with it, and successfully explored the pipeline.",
                            "description": "Import an application from Git, add a pipeline to it, and run the Pipeline.",
                            "displayName": "Deploying an application with a pipeline",
                            "durationMinutes": 10,
                            "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAABlCAYAAABUfC3PAAAQrElEQVR4Xu2dd3wU1RbHfymkQBomkAYEiICCSFDkw3uACaIi0mJBKT4JRgSehSAoyEMMykMUpfgBBaSEjw8BfX4oL4ogQmjqB5CignQSSgrpZdOTeZ8zYdbdzczO3dm5uxtx/oLMnXvPOd97bj33rhuawFOTeVmoPnsC1edOoC4rHbWZ6aLU9P/6smJZDTzDo+AZ3l58531vHNz9g+DVOQa+vQa4ubrKLilg1dnjQnnaVlT9nGbV8FqNS8AIEMFqHhePZhEdXMoOLiOMYe8WoWLfVhAMpdqvFYLadwTJNzYefsMS4N2lp9Nt4lQBqFkq+XwJDKkpDgehBIoA+Y9OQuCYqU6zjVMKrji6VyhelYzKY/vUKrFT3/sNHYfAF5Id3rw5FEpTgWFZExwNxyFQqOMu/DDJ5T1DzS39R01B8PSl3G3GvYD8D6YIpZuWqunbZN67+wWKTRrPPocbFGqq8ucmoDYro8kY3BZBfe6JRXByCpf+hguUP5t3KMEir2k5bQn8h43X1Y66ZkZD3Nxp8ag+f9KWStfk09JAICR5vW621C0jaq5yp8e7zHzD0aS9OvVAxMaTuthTl0xK/7dOyJ873tF2cLnyaOLZ6oOtdq8K2A3lLyDmdYP6mdCVaXaBsQvKX0DkndWtRQCC522EX/8hmuyr6SMSxVWA0PK8z71x8IxoWKan5fzKn9NQX1rklOZNAFBSA9TDDR3f34jAQaNstrHNH7gKEFp6p+EozRfkHpqwFq1KdigcCUgd/QOAm5s2MDZDoSX23Ncec0otlAr1G5qA4LfWqcpQdeFX5E4dirrsK6pp7U1gCUTKz8PTEz2O1dpkZ5sS0xpWzsQ4pw57yUPCNxxXtaEgCCgpKYFQVYniIWGq6e1JoAREyrOZjy+6H65gtjVzQiogc3QPwdkTQxrZKDVZkhEkIHV1dQ3NyO+HUZI02B67K36rBkT6sEW7aHRJvchkb6ZElPGNaSOE8n3buCjGmimLl1gCobzdhXoUP9KKtRjmdKxApAwjE2cidMoCVZurJnCVjp3kCBidhJavLlautTebLMlDTBNWTh+Gml9/YDa4WkJbgUgdf+eU/WjRs79Vu6tCofWsrDExTu1HJAMF0ZL5hLdk7SXnIaYJa1fPQcWXy9VszfReCxApY++AIHQ7WGQfFGc3W7R0EZj4Jnz7DoFHiHyHrQaEDOLv1wJuN66h9ItlKNm4hMn4consASLlF/p4IiKT1yiCsUrMmcNf7x79EJKcAs/IjhCqK1Hx407UXD6NwPGzzGzFAkRsOjYvRouBT8Ar+i7x+/IDqShclGTTfo8eQKRmrOdJQRuUa8OiBEdvUpFnhH78PTzbRKP22kUUfPAKKg59IxqSZu+R2y8bobACsezoW770LvyemAT3FoGgwQvLvEsvIJLwAXfG4PbNJ2TBKNIq/nyxULhoqmY31/Jhq4Vb0Dx2BGpvXEPev8ag6uTBRtkEv5UC2r9gBUIZCLs3oWzhi43yooFD0Ivzxb8XLZ9l1qzRBNWrSwwKPkyC3kAkQbqsPyDb6StCuRIXKDgqKI68IzzlMNwDb0Ph0testvkUfhqxPR1ldYDcKMvS8u6VBhSPaGe1joR+9C18/jYIVcf2IXtiHKQVA5qTZY6JEdeypKUTLZVN6RuluYssFN5eIi0iUk30+ftgNGvXGbWZl5EzaQBTG+/9wJPwnrFSrMHWHvfaGpQl9mZaZmnx0NM3l24EuHk3N2b7S4wbFyDWvEUWCo++hEBQFIi4ohse1ciW1K5TyCrr4xHWDn4Lt0No3bYRHFEpDbP4215dLEZHmj7nEweg7Ggaq1g2p5PzlkZQeC7JS/2BnOQZ96lOmRQV9h35IjzadxXf16Wf1jQfUZIte8VcZH2SbLOxWT+glWTLkVgjS2S/ECvwDCeVU14cAU2PZ9VD93TWVp0NJw7h3Lh+updpmmHwwHhELd5qZGEGhWbv14d34CoAzT/CVh8wK4P298tSU7iWq5Y5DSAo8t4rNh4BcSOMyYW6Wpy4p5na53a9t1xFNoPCu4MnydsdLBcP/dQV3jCu9lJFqM1qOAjkrMdy2Bv4QDxaPvwUgh58AqU/7MTFV4ZzFS164SbjLqUZFN5L82Er0+DVrTeu9GsunqyiZXh6aG3NmY+1eUhAv0cRvfxrpL8+CoU7N3MT03QyaYTCu+ny7fsoWi/5GnmzRsHwXYNy0pE32lN31sMyMey0Jg3Nu/fGyd5/DJX1lte0CTNC4d10td1biJpzJ8XJmas8LEAkWWOOVqEg9TNcSX6em/jSDN8IhedqsLgPMnURro+gvsM1Ar5tAUIUWo1NQpvXFuHU4A6o5qSDtHpshMJzWcXVvMRWIJJr3H2wEEW7v+LmLdJEUoRCARFZY3tycUtxCPzpfpfxEq1AyDhtZn6EkKcmcxsiS5EvIhSes3iKPHFv7o/rj93OBbotmdoDxNi3HKtBxhvPcBuJ3fML3EQohSvfEoo/nWuLfsxpo36qQf6CySjbupr5Gx4J9QBCct2xuSG86czTfFqWqBmLIULRe2mFFh8pjNSn1wBxKzejtzsPOzPnqRcQKjD0uRkIf/nfuDDhQbF8vRcraclFhKLXpJFub6CVYDqrYfmUpa4HHdN29MxdLyB+veIQPjkZfr0ah8kWbF8vLlpW37yehLm2yCRseV9sA5T0XqpbE6rlWFsBlj6mTbOcpKGoltlRVC1AQwK9gLR5fQlajZ1iVYK6smJkrngbeZ8t0iDpH59QtIsuUFiAULFVVVUoNxhQ9d5EVO35r13Cq32sFxDyjrBJ8mFNpjKQbgaDASUr5qBws/ZQJhEKHYujHT+tD21aha7Yq/q5JDQlpB1BnvG9egHximiPbjv+CNRQUtJUNzehHukPaI/G1AUKHSejYAdrj6nQUjo9g+NMy9YLCOUZ9U4Kbhs+zmbdKndtQs67jQM1VGvuzQR2e0rUEes75XJAqGweQdd6AiEZu32bDi+ZrWvJuEq64cZVZDytfeWbKxRFoakJY4gyYa1ZlE5vIJRnz5PKFc6abm6VBqQPth5BY003blCsCS32KzpC4QHEGhQ13VwSiprQIpQrZ1A8oa8tziCblhcQpeaLRTe34nykx3fWrJvdnmLZ0bMILTY3ClGLtmjCE4hcR8+qW81Pu5D5xmhbVDFLazcUmsVTuCk9rELrcYiHNxDSh2bxndY0DPdZdaOJ3/XRPVGj8Zwl7UDqMnkkb/Ho84g4eWJ56r9aBsMq9QmZUl6OACKVTbP5gCcnMetmr5foNqOnvXb/TWdQ76keimNvs+VIIBKYqA1HgIiO6vXNzqEwFWCEoleYasCSHcCdvWUX0qjJql6TrCl6UbKGM4AYPWbZDnh2k9eNZvFlX36MvE+0e79UDkW16L50TzG+vv+YAffIjvBs3UY89FO67HW7YPCah6hXffMUzcLaofXL8+E/8HGUHW24lLTy1GFdYEglGVeJeV6aFnW4HtkT7pc9a8JqFGd6iKWMHRdvgU+n7jg9lM9OqnGTi2d4UeSWC6gvykPW+D6sDMzSuRIQEqzH4XLkbliKzKVvaNJH7SMKMxKbL3tXiq0VJIYXTVmIjD7qgwDLfFwNSPDjz6PdnFU4HsNnJ1WKwDeGGOmx0aUEh/bpaecxfx57IJurASHduqZeQE3ONZxP5BNQ6NMqDF2/z24InKBH7316U0DBs1eL5xRZvcUVgbTo2Q+dUw7gXEJ/GI43Poup1iyxvJeORBih8IxoIYFYvcUVgZD83fflovLCKW5eQmVIkfdGKDwD8qhAltBVVwFCO46mQRBhL8xG+D/f5hqyanoFldlRCL0mkUqu2mZHlvjq2uDwRklcBYiHfxAoPPXS1MdQvGeruMnVbccl5Kx7n9uIi4xhevbRDArP+QoVTAdQI7ZcQNXRvSheN1+8VpAeVwFCstBhIZqLUHTK+efiEP3xDlHG3wY2rkgs/QRrGtMbjsyg8G7CRKUTZyNo0juirBRyRCeCCw+noXDPVtQ56d5HU8OZ7svT0ToKIj39aDS3SHsq2/L2vEYHUXk3YbR42XZPoWwFKt67DdfeT9IlqI21hlqmu/tQETz8Ao1/rq8sx7ln+6Li7AmtWap+Z3klSCMoPGf3knSR29Nlz9JTpGHGmwmqSvBKYLp/YloGNWVnRsZwqyyW14HIHl7neVaFlJUL3suYMx4F22w7IUydcvCIBHEziv5ND9Xo0qNpYidt62MtEpJXhZEmjKayykLh2eFTp+4xOAFt3za/LTV/yxqbDuO0fiYJYZOTzZoaU8XotNWlKfHMzQ5Bveu7q3D39ROzoVVgCt4uP3sCZUfSuPV3tAAZPNb8979kofA6lCqNsuguyDu+aDhSQB7i4RckHl2ryc/BuWf6qHaqLEFyoteUFCFn2WzVMFJa02o7azlqC/Nw9Z2JKN6faquTaUqvdEueLBQqQW9vsRz2UqAbdepSM0Pzgc7/+QnNgkNR+O0mpM8cI6uoNGRVs4K0p25tz5zK7LhkK3y79EDpj7twYfIjatnq+l7OS6gARSj0Uq++RW4eQs2F3BCYDnxGTlsoKk/tuOVpXLWoRfquUZCDxTYtwYiatx5+994veufl6SO5rWcpUbR2l6RVKHqsh2mdGLZLXm2M4608/xty1i4QDShFlygpKxd1QkqmDwhGxJR3EfTQSHi3jUZNXjZy1r6H3A3a75O0x22ULmBT9RRKYM+BIq1ATJUlz2k1+iV4t6HABQFwU97LsBYGFBgQAHc3wHD8EDKXzXa4Z5jqRFu+HdbsU3QIq54idpYaj0roAcSyJnb8aDsCY4fJVlC1uKyq1BRkfzjNnsqty7csd9+rQtHS6fMAQnIoHeBRA0Lf2nuYRxcitIUhMwS2zJsJii3NGC8gJIPcyIsFSIP82qMW9QKi1mxJ5TBDYflFCJ5ASGAasdHoS1qbYgVib8C1HlBs+WUIZigkmLXLo3kDkQwjNWGsQFyh6ZK7ktAaaJugUEZyw2RHAZEU6bTtLKoDQpgqsJB+BlfG23/kgqkwmURafm3IZihUbl7yOIGiU+hxNBAqkyIVI1fshhAYbNVWdacO49pLfH43hRWS2r32cvlogiKBKU1dz+0iZRalQybPhd+g0WZwSCHhxlUUfDoPpbv5HgtXk1ELEMpTMxT6+OJTPYTiM7fWT9KqgZDeawViNxTK4OzQaMFw5SKrrLdEOnuA6ALlLzDm9cxeILpBoYwuJ8YKhUcajgfcio+WUZaSnezqUywzzVk6U8hc+574Mxq30kMTw44rd6n+1harTXSFQoUajh8QLk18GDWVFawyNOl0tvxUIKuiukORCv6zN2fUXEU8N4PpJwJZYUjpuEGhAop3bhKuvDn+T+c1chEothreWnquUKSCM6bGCwV7tjX5vob6jogp8xtFn+gJRNfRF4tg1KQVHd3f5ODQxlTI8HFWfwaQRX/WNA7xFEthmgocR8NwSJ+iVjOuJycKBd987nJ9DvUZwcMTuHTiajZxePOlJBANCHLXLoDh/G+oq61lkVv3NNRfBPQdhJBnp+k239AqpFOaL2vCEqCCLz5B+dmTqCop0qqX6nc0pPUOCUVg/yEIGpHgdBCmArscFEtrEqSyH79Dxe8/o+p6OmrLy2z2JvG+E28f+LbvguZ3/w1+9w9xKQiWOrs8FDWvqs1rOLJn+fh07eXShrem1/8BWjy0OmdfIfEAAAAASUVORK5CYII=",
                            "introduction": "This quick start guides you through creating an application and associating it with a CI/CD pipeline.",
                            "nextQuickStart": [
                                ""
                            ],
                            "prerequisites": [
                                ""
                            ],
                            "tasks": [
                                {
                                    "description": "### Follow these steps to create an application.\n1. In the main navigation menu, select [Home]{{highlight qs-nav-home}} and select **Projects**.\n2. Click the **Create Project** button to create a project for your application.\n3. In the **Name** field, enter a name for your new project. Then click **Create**.\n4. In the masthead, click [plus icon]{{highlight qs-masthead-import}} button and select **Import from Git**.\n5. In the **Git Repo URL** field, enter `https://github.com/sclorg/django-ex.git`.\n6. In the **Build** section, select **Build using pipelines** from **Build option** dropdown to add a pipeline to your application.\n7. Click **Create** when you’re done.",
                                    "review": {
                                        "failedTaskHelp": "This task isn’t verified yet. Try the task again.",
                                        "instructions": "#### To verify that your application was successfully created:\nMomentarily, you should be brought to the **Topology** view.\n\nIs there an Application and Deployment name `django-ex?`"
                                    },
                                    "summary": {
                                        "failed": "Check your work to make sure that the application and deployment are successfully created.",
                                        "success": "You just installed a deployment with an associated pipeline! Next, we'll explore your application in topology."
                                    },
                                    "title": "Importing an application and associate it with a pipeline"
                                },
                                {
                                    "description": "### Let's explore your application in topology:\n1. Click on the deployment to see associated details in the side panel.\n2. Click on the Resources tab in the side panel to view related resources.",
                                    "review": {
                                        "failedTaskHelp": "This task isn’t verified yet. Try the task again.",
                                        "instructions": "#### To verify that the application has been created and a pipeline was associated:\n1. The **Resources** tab of the side panel shows many associated resources, including **Pods**, **Pipeline Runs**, and **Routes**.\n2. The **Pipeline Runs** section displays the associated pipeline.\n\nIs there a Pipeline named django-ex-git?"
                                    },
                                    "summary": {
                                        "failed": "Check your work to locate the associated pipeline.",
                                        "success": "You just located the associated Pipeline! Next, we'll start and explore your Pipeline."
                                    },
                                    "title": "Exploring your application"
                                },
                                {
                                    "description": "### You’ve just explored the topology of your application and seen it’s related resources.  Now let’s explore your pipeline run.\nNotice the Pipeline Runs section of the Side Panel\n1. The first row shows the Pipeline associated with the application.\n2. The second row shows the recently created Pipeline Run, its status and a link to view its logs.\n3. Click on the Pipeline Run link to view the **Pipeline Runs details** page.",
                                    "review": {
                                        "failedTaskHelp": "This task isn’t verified yet. Try the task again.",
                                        "instructions": "#### Momentarily, you should be brought to the **Pipeline Run details** page.\n1. Note that the **Pipeline Runs details** section shows a visualization of the pipeline run status and the tasks in the pipeline.\n2. Hovering over a task shows a tooltip with the details of the associated steps.\n3. Click on the **Task Runs** tab to view all the task runs associated with the pipeline run.\n4. Click on the **Logs** tab to watch the progress of your pipeline run.\n5. Click on the **Events** tab to watch the event streams of your pipeline run.\n6. When the Pipeline Run is complete, the **Running** badge on the page title will change to **Succeeded**.\n\nIs the status Succeeded?"
                                    },
                                    "summary": {
                                        "failed": "This task is not verified yet. Try the task again,",
                                        "success": "You have explored your pipeline successfully"
                                    },
                                    "title": "Exploring your pipeline run"
                                }
                            ]
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:23Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:12Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:12Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:23Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "932255a18d4b2e23c4733c9c399a5196f317416e15cff677e6f86ec95ab23cf0",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:08Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "addon-custom-pipelinestemplate-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonAddon",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "custom-pipelinestemplate"
                },
                "name": "addon-custom-pipelinestemplate-dmtkr",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonAddon",
                        "name": "addon",
                        "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                    }
                ],
                "resourceVersion": "22748",
                "uid": "ccddf4e7-2def-4d32-ac21-99f47b0aed7a"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "tekton-default-pipelines-view",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks",
                                    "clustertasks",
                                    "pipelines",
                                    "conditions"
                                ],
                                "verbs": [
                                    "get",
                                    "list"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "tekton-default-openshift-pipelines-view",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "apps"
                                ],
                                "resources": [
                                    "deployments"
                                ],
                                "verbs": [
                                    "get",
                                    "list"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "golang",
                                "pipeline.openshift.io/type": "openshift"
                            },
                            "name": "s2i-go",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "1.14.7-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-go"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status dc/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "golang",
                                "pipeline.openshift.io/type": "kubernetes"
                            },
                            "name": "s2i-go-deployment",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "1.14.7-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-go"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status deploy/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "golang",
                                "pipeline.openshift.io/type": "knative"
                            },
                            "name": "s2i-go-knative",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "1.14.7-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-go"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "kn-service-apply",
                                    "params": [
                                        {
                                            "name": "ARGS",
                                            "value": [
                                                "service",
                                                "apply",
                                                "$(params.APP_NAME)",
                                                "--image=$(params.IMAGE_NAME)"
                                            ]
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "kn"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "java",
                                "pipeline.openshift.io/type": "openshift"
                            },
                            "name": "s2i-java",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "openjdk-11-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-java"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status dc/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "java",
                                "pipeline.openshift.io/type": "kubernetes"
                            },
                            "name": "s2i-java-deployment",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "openjdk-11-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-java"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status deploy/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "java",
                                "pipeline.openshift.io/type": "knative"
                            },
                            "name": "s2i-java-knative",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "openjdk-11-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-java"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "kn-service-apply",
                                    "params": [
                                        {
                                            "name": "ARGS",
                                            "value": [
                                                "service",
                                                "apply",
                                                "$(params.APP_NAME)",
                                                "--image=$(params.IMAGE_NAME)"
                                            ]
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "kn"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "nodejs",
                                "pipeline.openshift.io/type": "openshift"
                            },
                            "name": "s2i-nodejs",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "14-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-nodejs"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status dc/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "nodejs",
                                "pipeline.openshift.io/type": "kubernetes"
                            },
                            "name": "s2i-nodejs-deployment",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "14-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-nodejs"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status deploy/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "nodejs",
                                "pipeline.openshift.io/type": "knative"
                            },
                            "name": "s2i-nodejs-knative",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "14-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-nodejs"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "kn-service-apply",
                                    "params": [
                                        {
                                            "name": "ARGS",
                                            "value": [
                                                "service",
                                                "apply",
                                                "$(params.APP_NAME)",
                                                "--image=$(params.IMAGE_NAME)"
                                            ]
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "kn"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "perl",
                                "pipeline.openshift.io/type": "openshift"
                            },
                            "name": "s2i-perl",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "5.30-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-perl"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status dc/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "perl",
                                "pipeline.openshift.io/type": "kubernetes"
                            },
                            "name": "s2i-perl-deployment",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "5.30-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-perl"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status deploy/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "perl",
                                "pipeline.openshift.io/type": "knative"
                            },
                            "name": "s2i-perl-knative",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "5.30-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-perl"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "kn-service-apply",
                                    "params": [
                                        {
                                            "name": "ARGS",
                                            "value": [
                                                "service",
                                                "apply",
                                                "$(params.APP_NAME)",
                                                "--image=$(params.IMAGE_NAME)"
                                            ]
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "kn"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "php",
                                "pipeline.openshift.io/type": "openshift"
                            },
                            "name": "s2i-php",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "7.4-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-php"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status dc/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "php",
                                "pipeline.openshift.io/type": "kubernetes"
                            },
                            "name": "s2i-php-deployment",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "7.4-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-php"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status deploy/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "php",
                                "pipeline.openshift.io/type": "knative"
                            },
                            "name": "s2i-php-knative",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "7.4-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-php"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "kn-service-apply",
                                    "params": [
                                        {
                                            "name": "ARGS",
                                            "value": [
                                                "service",
                                                "apply",
                                                "$(params.APP_NAME)",
                                                "--image=$(params.IMAGE_NAME)"
                                            ]
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "kn"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "python",
                                "pipeline.openshift.io/type": "openshift"
                            },
                            "name": "s2i-python",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "3.8-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-python"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status dc/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "python",
                                "pipeline.openshift.io/type": "kubernetes"
                            },
                            "name": "s2i-python-deployment",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "3.8-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-python"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status deploy/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "python",
                                "pipeline.openshift.io/type": "knative"
                            },
                            "name": "s2i-python-knative",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "3.8-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-python"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "kn-service-apply",
                                    "params": [
                                        {
                                            "name": "ARGS",
                                            "value": [
                                                "service",
                                                "apply",
                                                "$(params.APP_NAME)",
                                                "--image=$(params.IMAGE_NAME)"
                                            ]
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "kn"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "dotnet",
                                "pipeline.openshift.io/type": "openshift"
                            },
                            "name": "s2i-dotnet",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "3.1-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-dotnet"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status dc/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "dotnet",
                                "pipeline.openshift.io/type": "kubernetes"
                            },
                            "name": "s2i-dotnet-deployment",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "3.1-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-dotnet"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status deploy/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "dotnet",
                                "pipeline.openshift.io/type": "knative"
                            },
                            "name": "s2i-dotnet-knative",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "3.1-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-dotnet"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "kn-service-apply",
                                    "params": [
                                        {
                                            "name": "ARGS",
                                            "value": [
                                                "service",
                                                "apply",
                                                "$(params.APP_NAME)",
                                                "--image=$(params.IMAGE_NAME)"
                                            ]
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "kn"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "ruby",
                                "pipeline.openshift.io/type": "openshift"
                            },
                            "name": "s2i-ruby",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "2.7-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-ruby"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status dc/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "ruby",
                                "pipeline.openshift.io/type": "kubernetes"
                            },
                            "name": "s2i-ruby-deployment",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "2.7-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-ruby"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status deploy/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/runtime": "ruby",
                                "pipeline.openshift.io/type": "knative"
                            },
                            "name": "s2i-ruby-knative",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "2.7-ubi8",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        },
                                        {
                                            "name": "VERSION",
                                            "value": "$(params.VERSION)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "s2i-ruby"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "kn-service-apply",
                                    "params": [
                                        {
                                            "name": "ARGS",
                                            "value": [
                                                "service",
                                                "apply",
                                                "$(params.APP_NAME)",
                                                "--image=$(params.IMAGE_NAME)"
                                            ]
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "kn"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/strategy": "docker",
                                "pipeline.openshift.io/type": "openshift"
                            },
                            "name": "buildah",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "buildah"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status dc/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/strategy": "docker",
                                "pipeline.openshift.io/type": "kubernetes"
                            },
                            "name": "buildah-deployment",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "buildah"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "deploy",
                                    "params": [
                                        {
                                            "name": "SCRIPT",
                                            "value": "oc rollout status deploy/$(params.APP_NAME)"
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "openshift-client"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "Pipeline",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "pipeline.openshift.io/strategy": "docker",
                                "pipeline.openshift.io/type": "knative"
                            },
                            "name": "buildah-knative",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "APP_NAME",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REPO",
                                    "type": "string"
                                },
                                {
                                    "name": "GIT_REVISION",
                                    "type": "string"
                                },
                                {
                                    "name": "IMAGE_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "name": "PATH_CONTEXT",
                                    "type": "string"
                                }
                            ],
                            "tasks": [
                                {
                                    "name": "fetch-repository",
                                    "params": [
                                        {
                                            "name": "URL",
                                            "value": "$(params.GIT_REPO)"
                                        },
                                        {
                                            "name": "REVISION",
                                            "value": "$(params.GIT_REVISION)"
                                        },
                                        {
                                            "name": "SUBDIRECTORY",
                                            "value": ""
                                        },
                                        {
                                            "name": "DELETE_EXISTING",
                                            "value": "true"
                                        }
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "git-clone"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "output",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "build",
                                    "params": [
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE_NAME)"
                                        },
                                        {
                                            "name": "TLS_VERIFY",
                                            "value": "false"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.PATH_CONTEXT)"
                                        }
                                    ],
                                    "runAfter": [
                                        "fetch-repository"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "buildah"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    },
                                    "workspaces": [
                                        {
                                            "name": "source",
                                            "workspace": "workspace"
                                        }
                                    ]
                                },
                                {
                                    "name": "kn-service-apply",
                                    "params": [
                                        {
                                            "name": "ARGS",
                                            "value": [
                                                "service",
                                                "apply",
                                                "$(params.APP_NAME)",
                                                "--image=$(params.IMAGE_NAME)"
                                            ]
                                        }
                                    ],
                                    "runAfter": [
                                        "build"
                                    ],
                                    "taskRef": {
                                        "params": [
                                            {
                                                "name": "kind",
                                                "value": "task"
                                            },
                                            {
                                                "name": "name",
                                                "value": "kn"
                                            },
                                            {
                                                "name": "namespace",
                                                "value": "openshift-pipelines"
                                            }
                                        ],
                                        "resolver": "cluster"
                                    }
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "workspace"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-namespace": "true"
                            },
                            "name": "tekton-default-pipelines-view",
                            "namespace": "openshift",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-default-pipelines-view"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "name": "tekton-default-openshift-pipelines-view",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-default-openshift-pipelines-view"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:13Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "932255a18d4b2e23c4733c9c399a5196f317416e15cff677e6f86ec95ab23cf0",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:08Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "addon-custom-resolverstepaction-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonAddon",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "custom-resolverstepaction"
                },
                "name": "addon-custom-resolverstepaction-pwkf4",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonAddon",
                        "name": "addon",
                        "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                    }
                ],
                "resourceVersion": "22602",
                "uid": "c00f94dd-a6e4-4efe-a474-f77a8669935e"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "StepAction",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/pipelines.minVersion": "0.56.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/tekton-caches",
                                "tekton.dev/tags": "cache"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "cache-fetch",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "args": [
                                "$(params.PATTERNS[*])"
                            ],
                            "env": [
                                {
                                    "name": "PARAM_SOURCE",
                                    "value": "$(params.SOURCE)"
                                },
                                {
                                    "name": "PARAM_CACHE_PATH",
                                    "value": "$(params.CACHE_PATH)"
                                },
                                {
                                    "name": "PARAM_WORKING_DIR",
                                    "value": "$(params.WORKING_DIR)"
                                },
                                {
                                    "name": "PARAM_INSECURE",
                                    "value": "$(params.INSECURE)"
                                },
                                {
                                    "name": "DOCKER_CONFIG",
                                    "value": "$(params.DOCKER_CONFIG)"
                                },
                                {
                                    "name": "GOOGLE_APPLICATION_CREDENTIALS",
                                    "value": "$(params.GOOGLE_APPLICATION_CREDENTIALS)"
                                },
                                {
                                    "name": "AWS_CONFIG_FILE",
                                    "value": "$(params.AWS_CONFIG_FILE)"
                                },
                                {
                                    "name": "AWS_SHARED_CREDENTIALS_FILE",
                                    "value": "$(params.AWS_SHARED_CREDENTIALS_FILE)"
                                },
                                {
                                    "name": "BLOB_QUERY_PARAMS",
                                    "value": "$(params.BLOB_QUERY_PARAMS)"
                                }
                            ],
                            "image": "registry.redhat.io/openshift-pipelines/pipelines-cache-rhel9@sha256:b14dec3468690ea3292e1be758ad0b171636a1624d3baf8d41ced1ea91ffc1ab",
                            "params": [
                                {
                                    "description": "Regular expression to select files to include to compute the hash.\nFor example, in the case of a Go project, you can use `go.mod` for this, so the value would be \"**/go.sum\" (to work with possible sub go modules as well).\n",
                                    "name": "PATTERNS",
                                    "type": "array"
                                },
                                {
                                    "description": "The source from where the cache should be fetched. It's a URI with the scheme defining the \"provider\". In addition, one can add a {{hash}} variable to use the computed hash in the reference (oci image tags, path in s3, …)\nCurrently supported:\n- oci:// (e.g. oci://quay.io/vdemeester/go-cache:{{hash}}\n- s3:// (e.g. s3://\n",
                                    "name": "SOURCE",
                                    "type": "string"
                                },
                                {
                                    "description": "Path where to extract the cache content.\nIt can refer any folder, backed by a workspace or a volume, or nothing.\n",
                                    "name": "CACHE_PATH",
                                    "type": "string"
                                },
                                {
                                    "description": "The working dir from where the files patterns needs to be taken\n",
                                    "name": "WORKING_DIR",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Whether to use insecure mode for fetching the cache\n",
                                    "name": "INSECURE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to find the docker config. If left empty, it is ignored.\nIf already using service account based docker secret, then this isn't required.\n",
                                    "name": "DOCKER_CONFIG",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path where to find the google credentials. If left empty, it is ignored.\n",
                                    "name": "GOOGLE_APPLICATION_CREDENTIALS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to the aws config file. If left empty, it is ignored.\n",
                                    "name": "AWS_CONFIG_FILE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to find the aws credentials file. If left empty, it is ignored.\n",
                                    "name": "AWS_SHARED_CREDENTIALS_FILE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Blob Query Params to support configure s3, gcs and azure. This is optional unless some additional features of storage providers are required like s3 acceleration, fips, pathstyle,etc\n",
                                    "name": "BLOB_QUERY_PARAMS",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Whether a cache was fetched or not (true/false). This step won't fail if it didn't manage to fetch cache. This results allows the next step to act whether something was fetched or not.\n",
                                    "name": "fetched"
                                }
                            ],
                            "script": "#!/bin/sh\nPATTERN_FLAGS=\"\"\necho \"Patterns: $*\"\nfor p in $*; do\n  PATTERN_FLAGS=\"${PATTERN_FLAGS} --pattern ${p}\"\ndone\n\nset -x\n/ko-app/cache fetch ${PATTERN_FLAGS} \\\n                    --source ${PARAM_SOURCE} \\\n                    --folder ${PARAM_CACHE_PATH} \\\n                    --insecure ${PARAM_INSECURE} \\\n                    --workingdir ${PARAM_WORKING_DIR}\nif [ $? -eq 0 ]; then\n  echo -n true \u003e $(step.results.fetched.path)\nelse\n  echo -n false \u003e $(step.results.fetched.path)\nfi\n"
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "StepAction",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/pipelines.minVersion": "0.56.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/tekton-caches",
                                "tekton.dev/tags": "cache"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "cache-upload",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "args": [
                                "$(params.PATTERNS[*])"
                            ],
                            "env": [
                                {
                                    "name": "PARAM_TARGET",
                                    "value": "$(params.TARGET)"
                                },
                                {
                                    "name": "PARAM_CACHE_PATH",
                                    "value": "$(params.CACHE_PATH)"
                                },
                                {
                                    "name": "PARAM_WORKING_DIR",
                                    "value": "$(params.WORKING_DIR)"
                                },
                                {
                                    "name": "PARAM_INSECURE",
                                    "value": "$(params.INSECURE)"
                                },
                                {
                                    "name": "RESULT_CACHE_FETCHED",
                                    "value": "$(params.FETCHED)"
                                },
                                {
                                    "name": "PARAM_FORCE_CACHE_UPLOAD",
                                    "value": "$(params.FORCE_CACHE_UPLOAD)"
                                },
                                {
                                    "name": "DOCKER_CONFIG",
                                    "value": "$(params.DOCKER_CONFIG)"
                                },
                                {
                                    "name": "GOOGLE_APPLICATION_CREDENTIALS",
                                    "value": "$(params.GOOGLE_APPLICATION_CREDENTIALS)"
                                },
                                {
                                    "name": "AWS_CONFIG_FILE",
                                    "value": "$(params.AWS_CONFIG_FILE)"
                                },
                                {
                                    "name": "AWS_SHARED_CREDENTIALS_FILE",
                                    "value": "$(params.AWS_SHARED_CREDENTIALS_FILE)"
                                },
                                {
                                    "name": "BLOB_QUERY_PARAMS",
                                    "value": "$(params.BLOB_QUERY_PARAMS)"
                                }
                            ],
                            "image": "registry.redhat.io/openshift-pipelines/pipelines-cache-rhel9@sha256:b14dec3468690ea3292e1be758ad0b171636a1624d3baf8d41ced1ea91ffc1ab",
                            "params": [
                                {
                                    "description": "Regular expression to select files to include to compute the hash.\nFor example, in the case of a Go project, you can use `go.mod` for this, so the value would be \"**/go.sum\" (to work with possible sub go modules as well).\n",
                                    "name": "PATTERNS",
                                    "type": "array"
                                },
                                {
                                    "description": "The target from where the cache should be uploaded. It's a URI with the scheme defining the \"provider\". In addition, one can add a {{hash}} variable to use the computed hash in the reference (oci image tags, path in s3, …)\nCurrently supported:\n- oci:// (e.g. oci://quay.io/vdemeester/go-cache:{{hash}}\n- s3:// (e.g. s3://\n",
                                    "name": "TARGET",
                                    "type": "string"
                                },
                                {
                                    "description": "Path where to extract the cache content.\nIt can refer any folder, backed by a workspace or a volume, or nothing.\n",
                                    "name": "CACHE_PATH",
                                    "type": "string"
                                },
                                {
                                    "description": "The working dir from where the files patterns needs to be taken\n",
                                    "name": "WORKING_DIR",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Whether to use insecure mode for fetching the cache\n",
                                    "name": "INSECURE",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Wether cache was fetched or not previously\n",
                                    "name": "FETCHED",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Whether to force the cache upload even if it was fetched previously\n",
                                    "name": "FORCE_CACHE_UPLOAD",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to find the docker config. If left empty, it is ignored.\nIf already using service account based docker secret, then this isn't required.\n",
                                    "name": "DOCKER_CONFIG",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path where to find the google credentials. If left empty, it is ignored.\n",
                                    "name": "GOOGLE_APPLICATION_CREDENTIALS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to the aws config file. If left empty, it is ignored.\n",
                                    "name": "AWS_CONFIG_FILE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to find the aws credentials file. If left empty, it is ignored.\n",
                                    "name": "AWS_SHARED_CREDENTIALS_FILE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Blob Query Params to support configure s3, gcs and azure. This is optional unless some additional features of storage providers are required like s3 acceleration, fips, pathstyle,etc\n",
                                    "name": "BLOB_QUERY_PARAMS",
                                    "type": "string"
                                }
                            ],
                            "script": "#!/usr/bin/env sh\nset -x\nif [[ ${PARAM_FORCE_CACHE_UPLOAD} == \"false\" \u0026\u0026 ${RESULT_CACHE_FETCHED} == \"true\" ]]; then\n  echo \"no need to upload cache\"\n  exit 0\nfi\n\nPATTERN_FLAGS=\"\"\necho \"Patterns: $*\"\nfor p in $*; do\n  PATTERN_FLAGS=\"${PATTERN_FLAGS} --pattern ${p}\"\ndone\n\nset -ex\n/ko-app/cache upload ${PATTERN_FLAGS} \\\n                    --target ${PARAM_TARGET} \\\n                    --folder ${PARAM_CACHE_PATH} \\\n                    --insecure ${PARAM_INSECURE} \\\n                    --workingdir ${PARAM_WORKING_DIR}\n"
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "tekton-ecosystem-stepaction-list-role",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "stepactions"
                                ],
                                "verbs": [
                                    "get",
                                    "list"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "StepAction",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "Git",
                                "tekton.dev/displayName": "git",
                                "tekton.dev/pipelines.minVersion": "0.54.0",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-git",
                                "tekton.dev/tags": "git"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.4.1",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "git-clone",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "env": [
                                {
                                    "name": "PARAMS_URL",
                                    "value": "$(params.URL)"
                                },
                                {
                                    "name": "PARAMS_REVISION",
                                    "value": "$(params.REVISION)"
                                },
                                {
                                    "name": "PARAMS_REFSPEC",
                                    "value": "$(params.REFSPEC)"
                                },
                                {
                                    "name": "PARAMS_SUBMODULES",
                                    "value": "$(params.SUBMODULES)"
                                },
                                {
                                    "name": "PARAMS_DEPTH",
                                    "value": "$(params.DEPTH)"
                                },
                                {
                                    "name": "PARAMS_SPARSE_CHECKOUT_DIRECTORIES",
                                    "value": "$(params.SPARSE_CHECKOUT_DIRECTORIES)"
                                },
                                {
                                    "name": "PARAMS_OUTPUT_PATH",
                                    "value": "$(params.OUTPUT_PATH)"
                                },
                                {
                                    "name": "PARAMS_SSH_DIRECTORY_PATH",
                                    "value": "$(params.SSH_DIRECTORY_PATH)"
                                },
                                {
                                    "name": "PARAMS_BASIC_AUTH_PATH",
                                    "value": "$(params.BASIC_AUTH_PATH)"
                                },
                                {
                                    "name": "PARAMS_SSL_CA_DIRECTORY_PATH",
                                    "value": "$(params.SSL_CA_DIRECTORY_PATH)"
                                },
                                {
                                    "name": "PARAMS_SSL_VERIFY",
                                    "value": "$(params.SSL_VERIFY)"
                                },
                                {
                                    "name": "PARAMS_CRT_FILENAME",
                                    "value": "$(params.CRT_FILENAME)"
                                },
                                {
                                    "name": "PARAMS_SUBDIRECTORY",
                                    "value": "$(params.SUBDIRECTORY)"
                                },
                                {
                                    "name": "PARAMS_DELETE_EXISTING",
                                    "value": "$(params.DELETE_EXISTING)"
                                },
                                {
                                    "name": "PARAMS_HTTP_PROXY",
                                    "value": "$(params.HTTP_PROXY)"
                                },
                                {
                                    "name": "PARAMS_HTTPS_PROXY",
                                    "value": "$(params.HTTPS_PROXY)"
                                },
                                {
                                    "name": "PARAMS_NO_PROXY",
                                    "value": "$(params.NO_PROXY)"
                                },
                                {
                                    "name": "PARAMS_VERBOSE",
                                    "value": "$(params.VERBOSE)"
                                },
                                {
                                    "name": "PARAMS_USER_HOME",
                                    "value": "$(params.USER_HOME)"
                                }
                            ],
                            "image": "registry.redhat.io/openshift-pipelines/pipelines-git-init-rhel9@sha256:a2cab07ac5750b7d74f07020c221607ee6777dee6a2be6d0deaf89a609b3b6e8",
                            "params": [
                                {
                                    "description": "A directory that contains the fetched git repository. Cloned repo data is\nplaced in the root of the directory or in the relative path defined by the\n`SUBDIRECTORY` parameter\n",
                                    "name": "OUTPUT_PATH"
                                },
                                {
                                    "default": "no-path",
                                    "description": "A `.ssh` directory with private key, `known_hosts`, `config`, etc.\nCopied to the Git user's home before cloning the repository, in order to\nserver as authentication mechanismBinding a Secret to this Workspace is\nstrongly recommended over other volume types.\n",
                                    "name": "SSH_DIRECTORY_PATH"
                                },
                                {
                                    "default": "no-path",
                                    "description": "A directory containing `.gitconfig` and `.git-credentials` files.\nThese files are copied to the user home directory before Git commands run.\nAll other files in this Workspace are ignored. It is strongly recommended to\nuse `ssh-directory` over `basic-auth` whenever possible, and to bind a\nSecret to the Workspace providing this directory.\n",
                                    "name": "BASIC_AUTH_PATH"
                                },
                                {
                                    "default": "no-path",
                                    "description": "A directory containing CA certificates. Git uses these certificates to\nverify the peer with when interacting with remote repositories using\nHTTPS.\n",
                                    "name": "SSL_CA_DIRECTORY_PATH"
                                },
                                {
                                    "default": "ca-bundle.crt",
                                    "description": "Certificate Authority (CA) bundle filename in the SSL CA directory.\n",
                                    "name": "CRT_FILENAME",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTP proxy server (non-TLS requests).\n",
                                    "name": "HTTP_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTPS proxy server (TLS requests).\n",
                                    "name": "HTTPS_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Opt out of proxying HTTP/HTTPS requests.\n",
                                    "name": "NO_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Path to the directory for storing the cloned Git repository, relative to the\noutput directory.\n",
                                    "name": "SUBDIRECTORY",
                                    "type": "string"
                                },
                                {
                                    "default": "/home/git",
                                    "description": "Absolute path to the Git user home directory.\n",
                                    "name": "USER_HOME",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Clean out the contents of the default Workspace before specific Git operations occur, if data exists.\n",
                                    "name": "DELETE_EXISTING",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Log the executed commands.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the global `http.sslVerify` value, `false` is not advised unless\nyou trust the remote repository.\n",
                                    "name": "SSL_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "description": "Git repository URL.\n",
                                    "name": "URL",
                                    "type": "string"
                                },
                                {
                                    "default": "main",
                                    "description": "Revision to checkout, an branch, tag, sha, ref, etc...\n",
                                    "name": "REVISION",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Repository `refspec` to fetch before checking out the revision.\n",
                                    "name": "REFSPEC"
                                },
                                {
                                    "default": "true",
                                    "description": "Initialize and fetch Git submodules.\n",
                                    "name": "SUBMODULES",
                                    "type": "string"
                                },
                                {
                                    "default": "1",
                                    "description": "Number of commits to fetch, a \"shallow clone\" is a single commit.\n",
                                    "name": "DEPTH",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "List of directory patterns split by comma to perform \"sparse checkout\".\n",
                                    "name": "SPARSE_CHECKOUT_DIRECTORIES",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "The precise commit SHA digest cloned.\n",
                                    "name": "COMMIT"
                                },
                                {
                                    "description": "The precise repository URL.\n",
                                    "name": "URL"
                                },
                                {
                                    "description": "The epoch timestamp of the commit cloned.\n",
                                    "name": "COMMITTER_DATE"
                                }
                            ],
                            "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAMS_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ \"${PARAMS_BASIC_AUTH_PATH}\" != \"no-path\" ] ; then\n  cp \"${PARAMS_BASIC_AUTH_PATH}/.git-credentials\" \"${PARAMS_USER_HOME}/.git-credentials\"\n  cp \"${PARAMS_BASIC_AUTH_PATH}/.gitconfig\" \"${PARAMS_USER_HOME}/.gitconfig\"\n  chmod 400 \"${PARAMS_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAMS_USER_HOME}/.gitconfig\"\nfi\n\nif [ \"${PARAMS_SSH_DIRECTORY_PATH}\" != \"no-path\" ] ; then\n  cp -R \"${PARAMS_SSH_DIRECTORY_PATH}\" \"${PARAMS_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAMS_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAMS_USER_HOME}\"/.ssh/*\nfi\n\nif [ \"${PARAMS_SSL_CA_DIRECTORY_PATH}\" != \"no-path\" ] ; then\n   export GIT_SSL_CAPATH=\"${PARAMS_SSL_CA_DIRECTORY_PATH}\"\n   if [ \"${PARAMS_CRT_FILENAME}\" != \"\" ] ; then\n      export GIT_SSL_CAINFO=\"${PARAMS_SSL_CA_DIRECTORY_PATH}/${PARAMS_CRT_FILENAME}\"\n   fi\nfi\nCHECKOUT_DIR=\"${PARAMS_OUTPUT_PATH}/${PARAMS_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAMS_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir || true\nfi\n\ntest -z \"${PARAMS_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAMS_HTTP_PROXY}\"\ntest -z \"${PARAMS_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAMS_HTTPS_PROXY}\"\ntest -z \"${PARAMS_NO_PROXY}\" || export NO_PROXY=\"${PARAMS_NO_PROXY}\"\n\ngit config --global --add safe.directory \"${PARAMS_OUTPUT_PATH}\"\n/ko-app/git-init \\\n  -url=\"${PARAMS_URL}\" \\\n  -revision=\"${PARAMS_REVISION}\" \\\n  -refspec=\"${PARAMS_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAMS_SSL_VERIFY}\" \\\n  -submodules=\"${PARAMS_SUBMODULES}\" \\\n  -depth=\"${PARAMS_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAMS_SPARSE_CHECKOUT_DIRECTORIES}\"\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nRESULT_COMMITTER_DATE=\"$(git log -1 --pretty=%ct)\"\nprintf \"%s\" \"${RESULT_COMMITTER_DATE}\" \u003e \"$(step.results.COMMITTER_DATE.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(step.results.COMMIT.path)\"\nprintf \"%s\" \"${PARAMS_URL}\" \u003e \"$(step.results.URL.path)\"\n",
                            "securityContext": {
                                "runAsNonRoot": true,
                                "runAsUser": 65532
                            }
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "name": "tekton-ecosystem-stepaction-list-binding",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-ecosystem-stepaction-list-role"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "932255a18d4b2e23c4733c9c399a5196f317416e15cff677e6f86ec95ab23cf0",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:08Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "addon-custom-resolvertask-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonAddon",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "custom-resolvertask"
                },
                "name": "addon-custom-resolvertask-cm4vr",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonAddon",
                        "name": "addon",
                        "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                    }
                ],
                "resourceVersion": "22584",
                "uid": "968e1dea-f1b5-49e2-b953-e66e0c518afd"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "tekton-ecosystem-task-list-role",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks"
                                ],
                                "verbs": [
                                    "get",
                                    "list"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "buildah",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "\nBuildah task builds source into a container image and\nthen pushes it to a container registry.\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by buildah.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "./Dockerfile",
                                    "description": "Path to the `Dockerfile` (or `Containerfile`) relative to the `source` workspace.\n",
                                    "name": "DOCKERFILE",
                                    "type": "string"
                                },
                                {
                                    "default": [
                                        ""
                                    ],
                                    "description": "Dockerfile build arguments, array of key=value\n",
                                    "name": "BUILD_ARGS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_DOCKERFILE",
                                        "value": "$(params.DOCKERFILE)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_RHEL_ENTITLEMENT_BOUND",
                                        "value": "$(workspaces.rhel-entitlement.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_RHEL_ENTITLEMENT_PATH",
                                        "value": "$(workspaces.rhel-entitlement.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.BUILD_ARGS[*])"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "build",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;echo \"Running Script /scripts/buildah-bud.sh\";\n  /scripts/buildah-bud.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Container build context, like for instnace a application source code\nfollowed by a `Dockerfile`.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json or .dockerconfigjson.",
                                    "name": "dockerconfig",
                                    "optional": true
                                },
                                {
                                    "description": "An optional workspace that allows providing the entitlement keys for Buildah to access subscription. The mounted workspace contains entitlement.pem and entitlement-key.pem.",
                                    "mountPath": "/tmp/entitlement",
                                    "name": "rhel-entitlement",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "io.kubernetes.cri-o.userns-mode": "auto",
                                "io.openshift.builder": "true",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "buildah-ns",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "\nBuildah task builds source into a container image and\nthen pushes it to a container registry. This task runs with\nuser namespace isolation for enhanced security, providing\nbetter isolation and reduced privileges during the build process.\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by buildah.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "./Dockerfile",
                                    "description": "Path to the `Dockerfile` (or `Containerfile`) relative to the `source` workspace.\n",
                                    "name": "DOCKERFILE",
                                    "type": "string"
                                },
                                {
                                    "default": [
                                        ""
                                    ],
                                    "description": "Dockerfile build arguments, array of key=value\n",
                                    "name": "BUILD_ARGS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_DOCKERFILE",
                                        "value": "$(params.DOCKERFILE)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_RHEL_ENTITLEMENT_BOUND",
                                        "value": "$(workspaces.rhel-entitlement.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_RHEL_ENTITLEMENT_PATH",
                                        "value": "$(workspaces.rhel-entitlement.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.BUILD_ARGS[*])"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "build",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;echo \"Running Script /scripts/buildah-bud.sh\";\n  /scripts/buildah-bud.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Container build context, like for instnace a application source code\nfollowed by a `Dockerfile`.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json or .dockerconfigjson.",
                                    "name": "dockerconfig",
                                    "optional": true
                                },
                                {
                                    "description": "An optional workspace that allows providing the entitlement keys for Buildah to access subscription. The mounted workspace contains entitlement.pem and entitlement-key.pem.",
                                    "mountPath": "/tmp/entitlement",
                                    "name": "rhel-entitlement",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "Git",
                                "tekton.dev/displayName": "git",
                                "tekton.dev/pipelines.minVersion": "0.54.0",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-git",
                                "tekton.dev/tags": "git"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.4.1",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "git-cli",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This task can be used to perform git operations.\nGit command that needs to be run can be passed as a script to the task. This task needs authentication to git in order to push after the git operation.",
                            "params": [
                                {
                                    "default": "ca-bundle.crt",
                                    "description": "Certificate Authority (CA) bundle filename in the SSL CA directory.\n",
                                    "name": "CRT_FILENAME",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTP proxy server (non-TLS requests).\n",
                                    "name": "HTTP_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTPS proxy server (TLS requests).\n",
                                    "name": "HTTPS_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Opt out of proxying HTTP/HTTPS requests.\n",
                                    "name": "NO_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Path to the directory for storing the cloned Git repository, relative to the\noutput directory.\n",
                                    "name": "SUBDIRECTORY",
                                    "type": "string"
                                },
                                {
                                    "default": "/home/git",
                                    "description": "Absolute path to the Git user home directory.\n",
                                    "name": "USER_HOME",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Clean out the contents of the default Workspace before specific Git operations occur, if data exists.\n",
                                    "name": "DELETE_EXISTING",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Log the executed commands.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the global `http.sslVerify` value, `false` is not advised unless\nyou trust the remote repository.\n",
                                    "name": "SSL_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Git user name for performing git operation.\n",
                                    "name": "GIT_USER_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Git user email for performing git operation.\n",
                                    "name": "GIT_USER_EMAIL",
                                    "type": "string"
                                },
                                {
                                    "default": "git help\n",
                                    "description": "The git script to run.",
                                    "name": "GIT_SCRIPT",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "The precise commit SHA digest cloned.\n",
                                    "name": "COMMIT"
                                }
                            ],
                            "stepTemplate": {
                                "computeResources": {
                                    "limits": {
                                        "cpu": "100m",
                                        "memory": "256Mi"
                                    },
                                    "requests": {
                                        "cpu": "100m",
                                        "memory": "256Mi"
                                    }
                                },
                                "env": [
                                    {
                                        "name": "PARAMS_GIT_USER_EMAIL",
                                        "value": "$(params.GIT_USER_EMAIL)"
                                    },
                                    {
                                        "name": "PARAMS_GIT_USER_NAME",
                                        "value": "$(params.GIT_USER_NAME)"
                                    },
                                    {
                                        "name": "PARAMS_GIT_SCRIPT",
                                        "value": "$(params.GIT_SCRIPT)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "PARAMS_SSL_VERIFY",
                                        "value": "$(params.SSL_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_CRT_FILENAME",
                                        "value": "$(params.CRT_FILENAME)"
                                    },
                                    {
                                        "name": "PARAMS_SUBDIRECTORY",
                                        "value": "$(params.SUBDIRECTORY)"
                                    },
                                    {
                                        "name": "PARAMS_DELETE_EXISTING",
                                        "value": "$(params.DELETE_EXISTING)"
                                    },
                                    {
                                        "name": "PARAMS_HTTP_PROXY",
                                        "value": "$(params.HTTP_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_HTTPS_PROXY",
                                        "value": "$(params.HTTPS_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_NO_PROXY",
                                        "value": "$(params.NO_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "PARAMS_USER_HOME",
                                        "value": "$(params.USER_HOME)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSH_DIRECTORY_BOUND",
                                        "value": "$(workspaces.ssh-directory.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSH_DIRECTORY_PATH",
                                        "value": "$(workspaces.ssh-directory.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_BASIC_AUTH_BOUND",
                                        "value": "$(workspaces.basic-auth.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_BASIC_AUTH_PATH",
                                        "value": "$(workspaces.basic-auth.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSL_CA_DIRECTORY_BOUND",
                                        "value": "$(workspaces.ssl-ca-directory.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSL_CA_DIRECTORY_PATH",
                                        "value": "$(workspaces.ssl-ca-directory.path)"
                                    },
                                    {
                                        "name": "RESULTS_COMMIT_PATH",
                                        "value": "$(results.COMMIT.path)"
                                    }
                                ],
                                "securityContext": {
                                    "runAsNonRoot": true,
                                    "runAsUser": 65532
                                }
                            },
                            "steps": [
                                {
                                    "image": "registry.redhat.io/openshift-pipelines/pipelines-git-init-rhel9@sha256:a2cab07ac5750b7d74f07020c221607ee6777dee6a2be6d0deaf89a609b3b6e8",
                                    "name": "prepare-and-run",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKCmV4cG9ydCBQQVJBTVNfVVJMPSIke1BBUkFNU19VUkw6LX0iCmV4cG9ydCBQQVJBTVNfUkVWSVNJT049IiR7UEFSQU1TX1JFVklTSU9OOi19IgpleHBvcnQgUEFSQU1TX1JFRlNQRUM9IiR7UEFSQU1TX1JFRlNQRUM6LX0iCmV4cG9ydCBQQVJBTVNfU1VCTU9EVUxFUz0iJHtQQVJBTVNfU1VCTU9EVUxFUzotfSIKZXhwb3J0IFBBUkFNU19ERVBUSD0iJHtQQVJBTVNfREVQVEg6LX0iCmV4cG9ydCBQQVJBTVNfU1NMX1ZFUklGWT0iJHtQQVJBTVNfU1NMX1ZFUklGWTotfSIKZXhwb3J0IFBBUkFNU19DUlRfRklMRU5BTUU9IiR7UEFSQU1TX0NSVF9GSUxFTkFNRTotfSIKZXhwb3J0IFBBUkFNU19TVUJESVJFQ1RPUlk9IiR7UEFSQU1TX1NVQkRJUkVDVE9SWTotfSIKZXhwb3J0IFBBUkFNU19TUEFSU0VfQ0hFQ0tPVVRfRElSRUNUT1JJRVM9IiR7UEFSQU1TX1NQQVJTRV9DSEVDS09VVF9ESVJFQ1RPUklFUzotfSIKZXhwb3J0IFBBUkFNU19ERUxFVEVfRVhJU1RJTkc9IiR7UEFSQU1TX0RFTEVURV9FWElTVElORzotfSIKZXhwb3J0IFBBUkFNU19IVFRQX1BST1hZPSIke1BBUkFNU19IVFRQX1BST1hZOi19IgpleHBvcnQgUEFSQU1TX0hUVFBTX1BST1hZPSIke1BBUkFNU19IVFRQU19QUk9YWTotfSIKZXhwb3J0IFBBUkFNU19OT19QUk9YWT0iJHtQQVJBTVNfTk9fUFJPWFk6LX0iCmV4cG9ydCBQQVJBTVNfVkVSQk9TRT0iJHtQQVJBTVNfVkVSQk9TRTotfSIKZXhwb3J0IFBBUkFNU19VU0VSX0hPTUU9IiR7UEFSQU1TX1VTRVJfSE9NRTotfSIKZXhwb3J0IFBBUkFNU19HSVRfVVNFUl9FTUFJTD0iJHtQQVJBTVNfR0lUX1VTRVJfRU1BSUw6LX0iCmV4cG9ydCBQQVJBTVNfR0lUX1VTRVJfTkFNRT0iJHtQQVJBTVNfR0lUX1VTRVJfTkFNRTotfSIKZXhwb3J0IFBBUkFNU19HSVRfU0NSSVBUPSIke1BBUkFNU19HSVRfU0NSSVBUOi19IgoKZXhwb3J0IFdPUktTUEFDRVNfU09VUkNFX1BBVEg9IiR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfT1VUUFVUX1BBVEg9IiR7V09SS1NQQUNFU19PVVRQVVRfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSD0iJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfQkFTSUNfQVVUSF9CT1VORD0iJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfUEFUSD0iJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfU1NMX0NBX0RJUkVDVE9SWV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfUEFUSD0iJHtXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfUEFUSDotfSIKCmV4cG9ydCBSRVNVTFRTX0NPTU1JVFRFUl9EQVRFX1BBVEg9IiR7UkVTVUxUU19DT01NSVRURVJfREFURV9QQVRIOi19IgpleHBvcnQgUkVTVUxUU19DT01NSVRfUEFUSD0iJHtSRVNVTFRTX0NPTU1JVF9QQVRIOi19IgpleHBvcnQgUkVTVUxUU19VUkxfUEFUSD0iJHtSRVNVTFRTX1VSTF9QQVRIOi19IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNoZWNrb3V0IGRpcmVjdG9yeSwgdXNpbmcgdGhlIHNvdXJjZSB3b3Jrc3BhY2UgYW5kIHN1YmRpcmVjdG9yIHBhcmFtZXRlcgpbWyAhIC16ICR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0gXV0gJiYgZXhwb3J0IFdPUktTUEFDRVNfUk9PVF9QQVRIPSIke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9IgpbWyAhIC16ICR7V09SS1NQQUNFU19PVVRQVVRfUEFUSH0gXV0gJiYgZXhwb3J0IFdPUktTUEFDRVNfUk9PVF9QQVRIPSIke1dPUktTUEFDRVNfT1VUUFVUX1BBVEh9IgoKY2hlY2tvdXRfZGlyPSIke1dPUktTUEFDRVNfUk9PVF9QQVRIfS8ke1BBUkFNU19TVUJESVJFQ1RPUll9IgoKIwojIEZ1bmN0aW9ucwojCgpmYWlsKCkgewogICAgZWNobyAiRVJST1I6ICR7QH0iIDE+JjIKICAgIGV4aXQgMQp9CgpwaGFzZSgpIHsKICAgIGVjaG8gIi0tLT4gUGhhc2U6ICR7QH0uLi4iCn0KCiMgSW5zcGVjdCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFzc2VydCB0aGUgbWluaW11bSBjb25maWd1cmF0aW9uIGlzIGluZm9ybWVkLgphc3NlcnRfcmVxdWlyZWRfY29uZmlndXJhdGlvbl9vcl9mYWlsKCkgewogICAgW1sgLXogIiR7UEFSQU1TX1VSTH0iICAmJiAgLXogIiR7UEFSQU1TX0dJVF9TQ1JJUFR9IiBdXSAmJgogICAgICAgIGZhaWwgIlBhcmFtZXRlciBVUkwgb3IgU0NSSVBUIG11c3QgYmUgc2V0ISIKCiAgICBbWyAteiAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iIF1dICYmCiAgICAgICAgZmFpbCAiUm9vdCBXb3Jrc3BhY2UgaXMgbm90IHNldCEiCgogICAgW1sgISAtZCAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iIF1dICYmCiAgICAgICAgZmFpbCAiUm9vdCBXb3Jrc3BhY2UgZGlyZWN0b3J5IG5vdCBmb3VuZCEiCiAgICByZXR1cm4gMAp9CgojIENvcHkgdGhlIGZpbGUgaW50byB0aGUgZGVzdGluYXRpb24sIGNoZWNraW5nIGlmIHRoZSBzb3VyY2UgZXhpc3RzLgpjb3B5X29yX2ZhaWwoKSB7CiAgICBsb2NhbCBfbW9kZT0iJHsxfSIKICAgIGxvY2FsIF9zcmM9IiR7Mn0iCiAgICBsb2NhbCBfZHN0PSIkezN9IgoKICAgIGlmIFtbICEgLWYgIiR7X3NyY30iICYmICEgLWQgIiR7X3NyY30iIF1dOyB0aGVuCiAgICAgICAgZmFpbCAiU291cmNlIGZpbGUvZGlyZWN0b3J5IGlzIG5vdCBmb3VuZCBhdCAnJHtfc3JjfSciCiAgICBmaQoKICAgIGlmIFtbIC1kICIke19zcmN9IiBdXTsgdGhlbgogICAgICAgIGNwIC1SdiAke19zcmN9ICR7X2RzdH0KICAgICAgICBjaG1vZCAtdiAke19tb2RlfSAke19kc3R9CiAgICBlbHNlCiAgICAgICAgaW5zdGFsbCAtLXZlcmJvc2UgLS1tb2RlPSR7X21vZGV9ICR7X3NyY30gJHtfZHN0fQogICAgZmkKfQoKIyBEZWxldGUgYW55IGV4aXN0aW5nIGNvbnRlbnRzIG9mIHRoZSByZXBvIGRpcmVjdG9yeSBpZiBpdCBleGlzdHMuIFdlIGRvbid0IGp1c3QgInJtIC1yZiA8ZGlyPiIKIyBiZWNhdXNlIG1pZ2h0IGJlICIvIiBvciB0aGUgcm9vdCBvZiBhIG1vdW50ZWQgdm9sdW1lLgpjbGVhbl9kaXIoKSB7CiAgICBsb2NhbCBfZGlyPSIkezF9IgoKICAgIFtbICEgLWQgIiR7X2Rpcn0iIF1dICYmCiAgICAgICAgcmV0dXJuIDAKCiAgICAjIERlbGV0ZSBub24taGlkZGVuIGZpbGVzIGFuZCBkaXJlY3RvcmllcwogICAgcm0gLXJmdiAke19kaXI6P30vKgogICAgIyBEZWxldGUgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHN0YXJ0aW5nIHdpdGggLiBidXQgZXhjbHVkaW5nIC4uCiAgICBybSAtcmZ2ICR7X2Rpcn0vLlshLl0qCiAgICAjIERlbGV0ZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgc3RhcnRpbmcgd2l0aCAuLiBwbHVzIGFueSBvdGhlciBjaGFyYWN0ZXIKICAgIHJtIC1yZnYgJHtfZGlyfS8uLj8qCn0KCiMKIyBTZXR0aW5ncwojCgojIHdoZW4gdGhlIGtvLWFwcCBkaXJlY3RvcnkgaXMgcHJlc2VudCwgbWFraW5nIHN1cmUgaXQncyBwYXJ0IG9mIHRoZSBQQVRICltbIC1kICIva28tYXBwIiBdXSAmJiBleHBvcnQgUEFUSD0iJHtQQVRIfTova28tYXBwIgoKIyBtYWtpbmcgdGhlIHNoZWxsIHZlcmJvc2Ugd2hlbiB0aGUgcGFyYW10ZXIgaXMgc2V0CltbICIke1BBUkFNU19WRVJCT1NFfSIgPT0gInRydWUiIF1dICYmIHNldCAteAoKcmV0dXJuIDA=\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKc2V0IC1ldQoKc291cmNlICQoQ0RQQVRIPSBjZCAtLSAiJChkaXJuYW1lIC0tICR7MH0pIiAmJiBwd2QpL2NvbW1vbi5zaAoKYXNzZXJ0X3JlcXVpcmVkX2NvbmZpZ3VyYXRpb25fb3JfZmFpbAoKcGhhc2UgIlNldHRpbmcgb3V0cHV0IHdvcmtzcGFjZSBhcyBzYWZlIGRpcmVjdG9yeSAoJyR7V09SS1NQQUNFU19ST09UX1BBVEh9JykiCmdpdCBjb25maWcgLS1nbG9iYWwgLS1hZGQgc2FmZS5kaXJlY3RvcnkgIiR7V09SS1NQQUNFU19ST09UX1BBVEh9IgoKIyBTZXR0aW5nIHVwIHRoZSBjb25maWcgZm9yIHRoZSBnaXQuCgppZiBbIC1uICIke1BBUkFNU19HSVRfVVNFUl9FTUFJTH0iIF0gOyB0aGVuCiAgICBwaGFzZSAiU2V0dGluZyBnbG9iYWwgZW1haWwgZm9yIGdpdCAke1BBUkFNU19HSVRfVVNFUl9FTUFJTH0iCiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgIiR7UEFSQU1TX0dJVF9VU0VSX0VNQUlMfSIKZmkKCmlmIFsgLW4gIiR7UEFSQU1TX0dJVF9VU0VSX05BTUV9IiBdIDsgdGhlbgogICAgcGhhc2UgIlNldHRpbmcgZ2xvYmFsIHVzZXJuYW1lIGZvciBnaXQgJHtQQVJBTVNfR0lUX1VTRVJfTkFNRX0iCiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAiJHtQQVJBTVNfR0lUX1VTRVJfTkFNRX0iCmZpCgojCiMgQ0EgKGBzc2wtY2EtZGlyZWN0b3J5YCBXb3Jrc3BhY2UpCiMKCmlmIFtbICIke1dPUktTUEFDRVNfU1NMX0NBX0RJUkVDVE9SWV9CT1VORH0iID09ICJ0cnVlIiAmJiAtbiAiJHtQQVJBTVNfQ1JUX0ZJTEVOQU1FfSIgXV07IHRoZW4KCXBoYXNlICJJbnNwZWN0aW5nICdzc2wtY2EtZGlyZWN0b3J5JyB3b3Jrc3BhY2UgbG9va2luZyBmb3IgJyR7UEFSQU1TX0NSVF9GSUxFTkFNRX0nIGZpbGUiCgljcnQ9IiR7V09SS1NQQUNFU19TU0xfQ0FfRElSRUNUT1JZX1BBVEh9LyR7UEFSQU1TX0NSVF9GSUxFTkFNRX0iCglbWyAhIC1mICIke2NydH0iIF1dICYmCgkJZmFpbCAiQ1JUIGZpbGUgKFBBUkFNU19DUlRfRklMRU5BTUUpIG5vdCBmb3VuZCBhdCAnJHtjcnR9JyIKCglwaGFzZSAiRXhwb3J0aW5nIGN1c3RvbSBDQSBjZXJ0aWZpY2F0ZSAnR0lUX1NTTF9DQUlORk89JHtjcnR9JyIKCWV4cG9ydCBHSVRfU1NMX0NBSU5GTz0ke2NydH0KZmkKCiMKIyBQcm94eSBTZXR0aW5ncwojCgpwaGFzZSAiU2V0dGluZyB1cCBIVFRQX1BST1hZPScke1BBUkFNU19IVFRQX1BST1hZfSciCltbIC1uICIke1BBUkFNU19IVFRQX1BST1hZfSIgXV0gJiYgZXhwb3J0IEhUVFBfUFJPWFk9IiR7UEFSQU1TX0hUVFBfUFJPWFl9IgoKcGhhc2UgIlNldHR0aW5nIHVwIEhUVFBTX1BST1hZPScke1BBUkFNU19IVFRQU19QUk9YWX0nIgpbWyAtbiAiJHtQQVJBTVNfSFRUUFNfUFJPWFl9IiBdXSAmJiBleHBvcnQgSFRUUFNfUFJPWFk9IiR7UEFSQU1TX0hUVFBTX1BST1hZfSIKCnBoYXNlICJTZXR0aW5nIHVwIE5PX1BST1hZPScke1BBUkFNU19OT19QUk9YWX0nIgpbWyAtbiAiJHtQQVJBTVNfTk9fUFJPWFl9IiBdXSAmJiBleHBvcnQgTk9fUFJPWFk9IiR7UEFSQU1TX05PX1BST1hZfSIKCgppZiBbWyAhIC16ICIke1BBUkFNU19VUkx9IiBdXTsKdGhlbgogICAgcGhhc2UgIkNsb25pbmcgJyR7UEFSQU1TX1VSTH0nIGludG8gJyR7Y2hlY2tvdXRfZGlyfSciCiAgICBzZXQgLXgKICAgIGV4ZWMgZ2l0LWluaXQgXAogICAgICAgIC11cmw9IiR7UEFSQU1TX1VSTH0iIFwKICAgICAgICAtcmV2aXNpb249IiR7UEFSQU1TX1JFVklTSU9OfSIgXAogICAgICAgIC1yZWZzcGVjPSIke1BBUkFNU19SRUZTUEVDfSIgXAogICAgICAgIC1wYXRoPSIke2NoZWNrb3V0X2Rpcn0iIFwKICAgICAgICAtc3NsVmVyaWZ5PSIke1BBUkFNU19TU0xfVkVSSUZZfSIgXAogICAgICAgIC1zdWJtb2R1bGVzPSIke1BBUkFNU19TVUJNT0RVTEVTfSIgXAogICAgICAgIC1kZXB0aD0iJHtQQVJBTVNfREVQVEh9IiBcCiAgICAgICAgLXNwYXJzZUNoZWNrb3V0RGlyZWN0b3JpZXM9IiR7UEFSQU1TX1NQQVJTRV9DSEVDS09VVF9ESVJFQ1RPUklFU30iCmVsc2UKICAgIHBoYXNlICJSdW5uaW5nIHRoZSBwcm92aWRlZCBzY3JpcHRzICR7UEFSQU1TX0dJVF9TQ1JJUFR9IGluICR7Y2hlY2tvdXRfZGlyfSIKICAgIGV2YWwgIiR7UEFSQU1TX0dJVF9TQ1JJUFR9IgoKICAgIFJFU1VMVF9TSEE9IiQoZ2l0IHJldi1wYXJzZSBIRUFEIHwgdHIgLWQgJ1xuJykiCiAgICBFWElUX0NPREU9IiQ/IgogICAgaWYgWyAiJEVYSVRfQ09ERSIgIT0gMCBdCiAgICB0aGVuCiAgICAgICAgZXhpdCAkRVhJVF9DT0RFCiAgICBmaQogICAgIyBNYWtlIHN1cmUgd2UgZG9uJ3QgYWRkIGEgdHJhaWxpbmcgbmV3bGluZSB0byB0aGUgcmVzdWx0IQogICAgcHJpbnRmICIlcyIgIiRSRVNVTFRfU0hBIiA+ICIke1JFU1VMVFNfQ09NTUlUX1BBVEh9IgogICAgZWNobyAkUkVTVUxUX1NIQQpmaQoK\" |base64 -d \u003e\"/scripts/git-run.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKIwojIFNldHMgdXAgdGhlIGJhc2ljIGFuZCBTU0ggYXV0aGVudGljYXRpb24gYmFzZWQgb24gaW5mb3JtZWQgd29ya3NwYWNlcywgYXMgd2VsbCBhcyBjbGVhbmluZyB1cCB0aGUKIyBwcmV2aW91cyBnaXQtY2xvbmUgc3RhbGUgZGF0YS4KIwoKc2V0IC1ldQoKc291cmNlICQoQ0RQQVRIPSBjZCAtLSAiJChkaXJuYW1lIC0tICR7MH0pIiAmJiBwd2QpL2NvbW1vbi5zaAoKYXNzZXJ0X3JlcXVpcmVkX2NvbmZpZ3VyYXRpb25fb3JfZmFpbAoKcGhhc2UgIlByZXBhcmluZyB0aGUgZmlsZXN5c3RlbSBiZWZvcmUgY2xvbmluZyB0aGUgcmVwb3NpdG9yeSIKCmlmIFtbICIke1BBUkFNU19ERUxFVEVfRVhJU1RJTkd9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCXBoYXNlICJEZWxldGluZyBhbGwgY29udGVudHMgb2YgY2hlY2tvdXQtZGlyICcke2NoZWNrb3V0X2Rpcn0nIgoJY2xlYW5fZGlyICR7Y2hlY2tvdXRfZGlyfSB8fCB0cnVlCmZpCgppZiBbWyAiJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCXBoYXNlICJDb25maWd1cmluZyBHaXQgYXV0aGVudGljYXRpb24gd2l0aCAnYmFzaWMtYXV0aCcgV29ya3NwYWNlIGZpbGVzIgoKCWZvciBmIGluIC5naXQtY3JlZGVudGlhbHMgLmdpdGNvbmZpZzsgZG8KCQlzcmM9IiR7V09SS1NQQUNFU19CQVNJQ19BVVRIX1BBVEh9LyR7Zn0iCgkJcGhhc2UgIkNvcHlpbmcgJyR7c3JjfScgdG8gJyR7UEFSQU1TX1VTRVJfSE9NRX0nIgoJCWNvcHlfb3JfZmFpbCA0MDAgJHtzcmN9ICIke1BBUkFNU19VU0VSX0hPTUV9LyIKCWRvbmUKZmkKCmlmIFtbICIke1dPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9CT1VORH0iID09ICJ0cnVlIiBdXTsgdGhlbgoJcGhhc2UgIkNvcHlpbmcgJy5zc2gnIGZyb20gc3NoLWRpcmVjdG9yeSB3b3Jrc3BhY2UgKCcke1dPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9QQVRIfScpIgoKCWRvdF9zc2g9IiR7UEFSQU1TX1VTRVJfSE9NRX0vLnNzaCIKCWNvcHlfb3JfZmFpbCA3MDAgJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSH0gJHtkb3Rfc3NofQoJY2htb2QgLVJ2IDQwMCAke2RvdF9zc2h9LyoKZmkKCgpleGl0IDA=\" |base64 -d \u003e\"/scripts/prepare.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKIwojIFNjYW4gdGhlIGNsb25lZCByZXBvc2l0b3J5IGluIG9yZGVyIHRvIHJlcG9ydCBkZXRhaWxzIHdyaXR0aW5nIHRoZSByZXN1bHQgZmlsZXMuCiMKCnNldCAtZXUKCnNvdXJjZSAkKENEUEFUSD0gY2QgLS0gIiQoZGlybmFtZSAtLSAkezB9KSIgJiYgcHdkKS9jb21tb24uc2gKCmFzc2VydF9yZXF1aXJlZF9jb25maWd1cmF0aW9uX29yX2ZhaWwKCnBoYXNlICJDb2xsZWN0aW5nIGNsb25lZCByZXBvc2l0b3J5IGluZm9ybWF0aW9uICgnJHtjaGVja291dF9kaXJ9JykiCgpjZCAiJHtjaGVja291dF9kaXJ9IiB8fCBmYWlsICJOb3QgYWJsZSB0byBlbnRlciBjaGVja291dC1kaXIgJyR7Y2hlY2tvdXRfZGlyfSciCgpwaGFzZSAiU2V0dGluZyBvdXRwdXQgd29ya3NwYWNlIGFzIHNhZmUgZGlyZWN0b3J5ICgnJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0nKSIKZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLWFkZCBzYWZlLmRpcmVjdG9yeSAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iCgpyZXN1bHRfc2hhPSIkKGdpdCByZXYtcGFyc2UgSEVBRCkiCnJlc3VsdF9jb21taXR0ZXJfZGF0ZT0iJChnaXQgbG9nIC0xIC0tcHJldHR5PSVjdCkiCgpwaGFzZSAiUmVwb3J0aW5nIGxhc3QgY29tbWl0IGRhdGUgJyR7cmVzdWx0X2NvbW1pdHRlcl9kYXRlfSciCnByaW50ZiAiJXMiICIke3Jlc3VsdF9jb21taXR0ZXJfZGF0ZX0iID4ke1JFU1VMVFNfQ09NTUlUVEVSX0RBVEVfUEFUSH0KCnBoYXNlICJSZXBvcnRpbmcgcGFyc2VkIHJldmlzaW9uIFNIQSAnJHtyZXN1bHRfc2hhfSciCnByaW50ZiAiJXMiICIke3Jlc3VsdF9zaGF9IiA+JHtSRVNVTFRTX0NPTU1JVF9QQVRIfQoKcGhhc2UgIlJlcG9ydGluZyByZXBvc2l0b3J5IFVSTCAnJHtQQVJBTVNfVVJMfSciCnByaW50ZiAiJXMiICIke1BBUkFNU19VUkx9IiA+JHtSRVNVTFRTX1VSTF9QQVRIfQoKZXhpdCAw\" |base64 -d \u003e\"/scripts/report.sh\"\nchmod +x /scripts/*.sh;echo \"Running Script /scripts/prepare.sh\";\n    /scripts/prepare.sh;echo \"Running Script /scripts/git-run.sh\";\n    /scripts/git-run.sh;\n",
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "$(params.USER_HOME)",
                                            "name": "user-home"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "user-home"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "A `.ssh` directory with private key, `known_hosts`, `config`, etc.\nCopied to the Git user's home before cloning the repository, in order to\nserver as authentication mechanismBinding a Secret to this Workspace is\nstrongly recommended over other volume types.\n",
                                    "name": "ssh-directory",
                                    "optional": true
                                },
                                {
                                    "description": "A Workspace containing a `.gitconfig` and `.git-credentials` files.\nThese will be copied to the user's home before Git commands run. All\nother files in this Workspace are ignored. It is strongly recommended to\nuse `ssh-directory` over `basic-auth` whenever possible, and to bind a\nSecret to this Workspace over other volume types.\n",
                                    "name": "basic-auth",
                                    "optional": true
                                },
                                {
                                    "description": "A Workspace containing CA certificates, this will be used by Git to\nverify the peer with when interacting with remote repositories using\nHTTPS.\n",
                                    "name": "ssl-ca-directory",
                                    "optional": true
                                },
                                {
                                    "description": "A workspace that contains the fetched git repository.",
                                    "name": "source"
                                },
                                {
                                    "description": "An optional workspace that contains the files that need to be added to git. You can\naccess the workspace from your script using `$(workspaces.input.path)`, for instance:\n\n  cp $(workspaces.input.path)/file_that_i_want .\n  git add file_that_i_want\n  # etc\n",
                                    "name": "input",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "Git",
                                "tekton.dev/displayName": "git",
                                "tekton.dev/pipelines.minVersion": "0.54.0",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-git",
                                "tekton.dev/tags": "git"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.4.1",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "git-clone",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This object represents Git and is able to initialize and clone a remote repository on the informed Workspace. It's likely to become the first `step` on a Pipeline. \n",
                            "params": [
                                {
                                    "default": "ca-bundle.crt",
                                    "description": "Certificate Authority (CA) bundle filename in the SSL CA directory.\n",
                                    "name": "CRT_FILENAME",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTP proxy server (non-TLS requests).\n",
                                    "name": "HTTP_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTPS proxy server (TLS requests).\n",
                                    "name": "HTTPS_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Opt out of proxying HTTP/HTTPS requests.\n",
                                    "name": "NO_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Path to the directory for storing the cloned Git repository, relative to the\noutput directory.\n",
                                    "name": "SUBDIRECTORY",
                                    "type": "string"
                                },
                                {
                                    "default": "/home/git",
                                    "description": "Absolute path to the Git user home directory.\n",
                                    "name": "USER_HOME",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Clean out the contents of the default Workspace before specific Git operations occur, if data exists.\n",
                                    "name": "DELETE_EXISTING",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Log the executed commands.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the global `http.sslVerify` value, `false` is not advised unless\nyou trust the remote repository.\n",
                                    "name": "SSL_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "description": "Git repository URL.\n",
                                    "name": "URL",
                                    "type": "string"
                                },
                                {
                                    "default": "main",
                                    "description": "Revision to checkout, an branch, tag, sha, ref, etc...\n",
                                    "name": "REVISION",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Repository `refspec` to fetch before checking out the revision.\n",
                                    "name": "REFSPEC"
                                },
                                {
                                    "default": "true",
                                    "description": "Initialize and fetch Git submodules.\n",
                                    "name": "SUBMODULES",
                                    "type": "string"
                                },
                                {
                                    "default": "1",
                                    "description": "Number of commits to fetch, a \"shallow clone\" is a single commit.\n",
                                    "name": "DEPTH",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "List of directory patterns split by comma to perform \"sparse checkout\".\n",
                                    "name": "SPARSE_CHECKOUT_DIRECTORIES",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "The precise commit SHA digest cloned.\n",
                                    "name": "COMMIT"
                                },
                                {
                                    "description": "The precise repository URL.\n",
                                    "name": "URL"
                                },
                                {
                                    "description": "The epoch timestamp of the commit cloned.\n",
                                    "name": "COMMITTER_DATE"
                                }
                            ],
                            "stepTemplate": {
                                "computeResources": {
                                    "limits": {
                                        "cpu": "100m",
                                        "memory": "256Mi"
                                    },
                                    "requests": {
                                        "cpu": "100m",
                                        "memory": "256Mi"
                                    }
                                },
                                "env": [
                                    {
                                        "name": "PARAMS_URL",
                                        "value": "$(params.URL)"
                                    },
                                    {
                                        "name": "PARAMS_REVISION",
                                        "value": "$(params.REVISION)"
                                    },
                                    {
                                        "name": "PARAMS_REFSPEC",
                                        "value": "$(params.REFSPEC)"
                                    },
                                    {
                                        "name": "PARAMS_SUBMODULES",
                                        "value": "$(params.SUBMODULES)"
                                    },
                                    {
                                        "name": "PARAMS_DEPTH",
                                        "value": "$(params.DEPTH)"
                                    },
                                    {
                                        "name": "PARAMS_SPARSE_CHECKOUT_DIRECTORIES",
                                        "value": "$(params.SPARSE_CHECKOUT_DIRECTORIES)"
                                    },
                                    {
                                        "name": "RESULTS_COMMITTER_DATE_PATH",
                                        "value": "$(results.COMMITTER_DATE.path)"
                                    },
                                    {
                                        "name": "RESULTS_URL_PATH",
                                        "value": "$(results.URL.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_OUTPUT_PATH",
                                        "value": "$(workspaces.output.path)"
                                    },
                                    {
                                        "name": "PARAMS_SSL_VERIFY",
                                        "value": "$(params.SSL_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_CRT_FILENAME",
                                        "value": "$(params.CRT_FILENAME)"
                                    },
                                    {
                                        "name": "PARAMS_SUBDIRECTORY",
                                        "value": "$(params.SUBDIRECTORY)"
                                    },
                                    {
                                        "name": "PARAMS_DELETE_EXISTING",
                                        "value": "$(params.DELETE_EXISTING)"
                                    },
                                    {
                                        "name": "PARAMS_HTTP_PROXY",
                                        "value": "$(params.HTTP_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_HTTPS_PROXY",
                                        "value": "$(params.HTTPS_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_NO_PROXY",
                                        "value": "$(params.NO_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "PARAMS_USER_HOME",
                                        "value": "$(params.USER_HOME)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSH_DIRECTORY_BOUND",
                                        "value": "$(workspaces.ssh-directory.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSH_DIRECTORY_PATH",
                                        "value": "$(workspaces.ssh-directory.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_BASIC_AUTH_BOUND",
                                        "value": "$(workspaces.basic-auth.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_BASIC_AUTH_PATH",
                                        "value": "$(workspaces.basic-auth.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSL_CA_DIRECTORY_BOUND",
                                        "value": "$(workspaces.ssl-ca-directory.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSL_CA_DIRECTORY_PATH",
                                        "value": "$(workspaces.ssl-ca-directory.path)"
                                    },
                                    {
                                        "name": "RESULTS_COMMIT_PATH",
                                        "value": "$(results.COMMIT.path)"
                                    }
                                ],
                                "securityContext": {
                                    "runAsNonRoot": true,
                                    "runAsUser": 65532
                                }
                            },
                            "steps": [
                                {
                                    "image": "registry.redhat.io/openshift-pipelines/pipelines-git-init-rhel9@sha256:a2cab07ac5750b7d74f07020c221607ee6777dee6a2be6d0deaf89a609b3b6e8",
                                    "name": "prepare-and-run",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKCmV4cG9ydCBQQVJBTVNfVVJMPSIke1BBUkFNU19VUkw6LX0iCmV4cG9ydCBQQVJBTVNfUkVWSVNJT049IiR7UEFSQU1TX1JFVklTSU9OOi19IgpleHBvcnQgUEFSQU1TX1JFRlNQRUM9IiR7UEFSQU1TX1JFRlNQRUM6LX0iCmV4cG9ydCBQQVJBTVNfU1VCTU9EVUxFUz0iJHtQQVJBTVNfU1VCTU9EVUxFUzotfSIKZXhwb3J0IFBBUkFNU19ERVBUSD0iJHtQQVJBTVNfREVQVEg6LX0iCmV4cG9ydCBQQVJBTVNfU1NMX1ZFUklGWT0iJHtQQVJBTVNfU1NMX1ZFUklGWTotfSIKZXhwb3J0IFBBUkFNU19DUlRfRklMRU5BTUU9IiR7UEFSQU1TX0NSVF9GSUxFTkFNRTotfSIKZXhwb3J0IFBBUkFNU19TVUJESVJFQ1RPUlk9IiR7UEFSQU1TX1NVQkRJUkVDVE9SWTotfSIKZXhwb3J0IFBBUkFNU19TUEFSU0VfQ0hFQ0tPVVRfRElSRUNUT1JJRVM9IiR7UEFSQU1TX1NQQVJTRV9DSEVDS09VVF9ESVJFQ1RPUklFUzotfSIKZXhwb3J0IFBBUkFNU19ERUxFVEVfRVhJU1RJTkc9IiR7UEFSQU1TX0RFTEVURV9FWElTVElORzotfSIKZXhwb3J0IFBBUkFNU19IVFRQX1BST1hZPSIke1BBUkFNU19IVFRQX1BST1hZOi19IgpleHBvcnQgUEFSQU1TX0hUVFBTX1BST1hZPSIke1BBUkFNU19IVFRQU19QUk9YWTotfSIKZXhwb3J0IFBBUkFNU19OT19QUk9YWT0iJHtQQVJBTVNfTk9fUFJPWFk6LX0iCmV4cG9ydCBQQVJBTVNfVkVSQk9TRT0iJHtQQVJBTVNfVkVSQk9TRTotfSIKZXhwb3J0IFBBUkFNU19VU0VSX0hPTUU9IiR7UEFSQU1TX1VTRVJfSE9NRTotfSIKZXhwb3J0IFBBUkFNU19HSVRfVVNFUl9FTUFJTD0iJHtQQVJBTVNfR0lUX1VTRVJfRU1BSUw6LX0iCmV4cG9ydCBQQVJBTVNfR0lUX1VTRVJfTkFNRT0iJHtQQVJBTVNfR0lUX1VTRVJfTkFNRTotfSIKZXhwb3J0IFBBUkFNU19HSVRfU0NSSVBUPSIke1BBUkFNU19HSVRfU0NSSVBUOi19IgoKZXhwb3J0IFdPUktTUEFDRVNfU09VUkNFX1BBVEg9IiR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfT1VUUFVUX1BBVEg9IiR7V09SS1NQQUNFU19PVVRQVVRfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSD0iJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfQkFTSUNfQVVUSF9CT1VORD0iJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfUEFUSD0iJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfU1NMX0NBX0RJUkVDVE9SWV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfUEFUSD0iJHtXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfUEFUSDotfSIKCmV4cG9ydCBSRVNVTFRTX0NPTU1JVFRFUl9EQVRFX1BBVEg9IiR7UkVTVUxUU19DT01NSVRURVJfREFURV9QQVRIOi19IgpleHBvcnQgUkVTVUxUU19DT01NSVRfUEFUSD0iJHtSRVNVTFRTX0NPTU1JVF9QQVRIOi19IgpleHBvcnQgUkVTVUxUU19VUkxfUEFUSD0iJHtSRVNVTFRTX1VSTF9QQVRIOi19IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNoZWNrb3V0IGRpcmVjdG9yeSwgdXNpbmcgdGhlIHNvdXJjZSB3b3Jrc3BhY2UgYW5kIHN1YmRpcmVjdG9yIHBhcmFtZXRlcgpbWyAhIC16ICR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0gXV0gJiYgZXhwb3J0IFdPUktTUEFDRVNfUk9PVF9QQVRIPSIke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9IgpbWyAhIC16ICR7V09SS1NQQUNFU19PVVRQVVRfUEFUSH0gXV0gJiYgZXhwb3J0IFdPUktTUEFDRVNfUk9PVF9QQVRIPSIke1dPUktTUEFDRVNfT1VUUFVUX1BBVEh9IgoKY2hlY2tvdXRfZGlyPSIke1dPUktTUEFDRVNfUk9PVF9QQVRIfS8ke1BBUkFNU19TVUJESVJFQ1RPUll9IgoKIwojIEZ1bmN0aW9ucwojCgpmYWlsKCkgewogICAgZWNobyAiRVJST1I6ICR7QH0iIDE+JjIKICAgIGV4aXQgMQp9CgpwaGFzZSgpIHsKICAgIGVjaG8gIi0tLT4gUGhhc2U6ICR7QH0uLi4iCn0KCiMgSW5zcGVjdCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFzc2VydCB0aGUgbWluaW11bSBjb25maWd1cmF0aW9uIGlzIGluZm9ybWVkLgphc3NlcnRfcmVxdWlyZWRfY29uZmlndXJhdGlvbl9vcl9mYWlsKCkgewogICAgW1sgLXogIiR7UEFSQU1TX1VSTH0iICAmJiAgLXogIiR7UEFSQU1TX0dJVF9TQ1JJUFR9IiBdXSAmJgogICAgICAgIGZhaWwgIlBhcmFtZXRlciBVUkwgb3IgU0NSSVBUIG11c3QgYmUgc2V0ISIKCiAgICBbWyAteiAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iIF1dICYmCiAgICAgICAgZmFpbCAiUm9vdCBXb3Jrc3BhY2UgaXMgbm90IHNldCEiCgogICAgW1sgISAtZCAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iIF1dICYmCiAgICAgICAgZmFpbCAiUm9vdCBXb3Jrc3BhY2UgZGlyZWN0b3J5IG5vdCBmb3VuZCEiCiAgICByZXR1cm4gMAp9CgojIENvcHkgdGhlIGZpbGUgaW50byB0aGUgZGVzdGluYXRpb24sIGNoZWNraW5nIGlmIHRoZSBzb3VyY2UgZXhpc3RzLgpjb3B5X29yX2ZhaWwoKSB7CiAgICBsb2NhbCBfbW9kZT0iJHsxfSIKICAgIGxvY2FsIF9zcmM9IiR7Mn0iCiAgICBsb2NhbCBfZHN0PSIkezN9IgoKICAgIGlmIFtbICEgLWYgIiR7X3NyY30iICYmICEgLWQgIiR7X3NyY30iIF1dOyB0aGVuCiAgICAgICAgZmFpbCAiU291cmNlIGZpbGUvZGlyZWN0b3J5IGlzIG5vdCBmb3VuZCBhdCAnJHtfc3JjfSciCiAgICBmaQoKICAgIGlmIFtbIC1kICIke19zcmN9IiBdXTsgdGhlbgogICAgICAgIGNwIC1SdiAke19zcmN9ICR7X2RzdH0KICAgICAgICBjaG1vZCAtdiAke19tb2RlfSAke19kc3R9CiAgICBlbHNlCiAgICAgICAgaW5zdGFsbCAtLXZlcmJvc2UgLS1tb2RlPSR7X21vZGV9ICR7X3NyY30gJHtfZHN0fQogICAgZmkKfQoKIyBEZWxldGUgYW55IGV4aXN0aW5nIGNvbnRlbnRzIG9mIHRoZSByZXBvIGRpcmVjdG9yeSBpZiBpdCBleGlzdHMuIFdlIGRvbid0IGp1c3QgInJtIC1yZiA8ZGlyPiIKIyBiZWNhdXNlIG1pZ2h0IGJlICIvIiBvciB0aGUgcm9vdCBvZiBhIG1vdW50ZWQgdm9sdW1lLgpjbGVhbl9kaXIoKSB7CiAgICBsb2NhbCBfZGlyPSIkezF9IgoKICAgIFtbICEgLWQgIiR7X2Rpcn0iIF1dICYmCiAgICAgICAgcmV0dXJuIDAKCiAgICAjIERlbGV0ZSBub24taGlkZGVuIGZpbGVzIGFuZCBkaXJlY3RvcmllcwogICAgcm0gLXJmdiAke19kaXI6P30vKgogICAgIyBEZWxldGUgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHN0YXJ0aW5nIHdpdGggLiBidXQgZXhjbHVkaW5nIC4uCiAgICBybSAtcmZ2ICR7X2Rpcn0vLlshLl0qCiAgICAjIERlbGV0ZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgc3RhcnRpbmcgd2l0aCAuLiBwbHVzIGFueSBvdGhlciBjaGFyYWN0ZXIKICAgIHJtIC1yZnYgJHtfZGlyfS8uLj8qCn0KCiMKIyBTZXR0aW5ncwojCgojIHdoZW4gdGhlIGtvLWFwcCBkaXJlY3RvcnkgaXMgcHJlc2VudCwgbWFraW5nIHN1cmUgaXQncyBwYXJ0IG9mIHRoZSBQQVRICltbIC1kICIva28tYXBwIiBdXSAmJiBleHBvcnQgUEFUSD0iJHtQQVRIfTova28tYXBwIgoKIyBtYWtpbmcgdGhlIHNoZWxsIHZlcmJvc2Ugd2hlbiB0aGUgcGFyYW10ZXIgaXMgc2V0CltbICIke1BBUkFNU19WRVJCT1NFfSIgPT0gInRydWUiIF1dICYmIHNldCAteAoKcmV0dXJuIDA=\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKc2V0IC1ldQoKc291cmNlICQoQ0RQQVRIPSBjZCAtLSAiJChkaXJuYW1lIC0tICR7MH0pIiAmJiBwd2QpL2NvbW1vbi5zaAoKYXNzZXJ0X3JlcXVpcmVkX2NvbmZpZ3VyYXRpb25fb3JfZmFpbAoKcGhhc2UgIlNldHRpbmcgb3V0cHV0IHdvcmtzcGFjZSBhcyBzYWZlIGRpcmVjdG9yeSAoJyR7V09SS1NQQUNFU19ST09UX1BBVEh9JykiCmdpdCBjb25maWcgLS1nbG9iYWwgLS1hZGQgc2FmZS5kaXJlY3RvcnkgIiR7V09SS1NQQUNFU19ST09UX1BBVEh9IgoKIyBTZXR0aW5nIHVwIHRoZSBjb25maWcgZm9yIHRoZSBnaXQuCgppZiBbIC1uICIke1BBUkFNU19HSVRfVVNFUl9FTUFJTH0iIF0gOyB0aGVuCiAgICBwaGFzZSAiU2V0dGluZyBnbG9iYWwgZW1haWwgZm9yIGdpdCAke1BBUkFNU19HSVRfVVNFUl9FTUFJTH0iCiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgIiR7UEFSQU1TX0dJVF9VU0VSX0VNQUlMfSIKZmkKCmlmIFsgLW4gIiR7UEFSQU1TX0dJVF9VU0VSX05BTUV9IiBdIDsgdGhlbgogICAgcGhhc2UgIlNldHRpbmcgZ2xvYmFsIHVzZXJuYW1lIGZvciBnaXQgJHtQQVJBTVNfR0lUX1VTRVJfTkFNRX0iCiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAiJHtQQVJBTVNfR0lUX1VTRVJfTkFNRX0iCmZpCgojCiMgQ0EgKGBzc2wtY2EtZGlyZWN0b3J5YCBXb3Jrc3BhY2UpCiMKCmlmIFtbICIke1dPUktTUEFDRVNfU1NMX0NBX0RJUkVDVE9SWV9CT1VORH0iID09ICJ0cnVlIiAmJiAtbiAiJHtQQVJBTVNfQ1JUX0ZJTEVOQU1FfSIgXV07IHRoZW4KCXBoYXNlICJJbnNwZWN0aW5nICdzc2wtY2EtZGlyZWN0b3J5JyB3b3Jrc3BhY2UgbG9va2luZyBmb3IgJyR7UEFSQU1TX0NSVF9GSUxFTkFNRX0nIGZpbGUiCgljcnQ9IiR7V09SS1NQQUNFU19TU0xfQ0FfRElSRUNUT1JZX1BBVEh9LyR7UEFSQU1TX0NSVF9GSUxFTkFNRX0iCglbWyAhIC1mICIke2NydH0iIF1dICYmCgkJZmFpbCAiQ1JUIGZpbGUgKFBBUkFNU19DUlRfRklMRU5BTUUpIG5vdCBmb3VuZCBhdCAnJHtjcnR9JyIKCglwaGFzZSAiRXhwb3J0aW5nIGN1c3RvbSBDQSBjZXJ0aWZpY2F0ZSAnR0lUX1NTTF9DQUlORk89JHtjcnR9JyIKCWV4cG9ydCBHSVRfU1NMX0NBSU5GTz0ke2NydH0KZmkKCiMKIyBQcm94eSBTZXR0aW5ncwojCgpwaGFzZSAiU2V0dGluZyB1cCBIVFRQX1BST1hZPScke1BBUkFNU19IVFRQX1BST1hZfSciCltbIC1uICIke1BBUkFNU19IVFRQX1BST1hZfSIgXV0gJiYgZXhwb3J0IEhUVFBfUFJPWFk9IiR7UEFSQU1TX0hUVFBfUFJPWFl9IgoKcGhhc2UgIlNldHR0aW5nIHVwIEhUVFBTX1BST1hZPScke1BBUkFNU19IVFRQU19QUk9YWX0nIgpbWyAtbiAiJHtQQVJBTVNfSFRUUFNfUFJPWFl9IiBdXSAmJiBleHBvcnQgSFRUUFNfUFJPWFk9IiR7UEFSQU1TX0hUVFBTX1BST1hZfSIKCnBoYXNlICJTZXR0aW5nIHVwIE5PX1BST1hZPScke1BBUkFNU19OT19QUk9YWX0nIgpbWyAtbiAiJHtQQVJBTVNfTk9fUFJPWFl9IiBdXSAmJiBleHBvcnQgTk9fUFJPWFk9IiR7UEFSQU1TX05PX1BST1hZfSIKCgppZiBbWyAhIC16ICIke1BBUkFNU19VUkx9IiBdXTsKdGhlbgogICAgcGhhc2UgIkNsb25pbmcgJyR7UEFSQU1TX1VSTH0nIGludG8gJyR7Y2hlY2tvdXRfZGlyfSciCiAgICBzZXQgLXgKICAgIGV4ZWMgZ2l0LWluaXQgXAogICAgICAgIC11cmw9IiR7UEFSQU1TX1VSTH0iIFwKICAgICAgICAtcmV2aXNpb249IiR7UEFSQU1TX1JFVklTSU9OfSIgXAogICAgICAgIC1yZWZzcGVjPSIke1BBUkFNU19SRUZTUEVDfSIgXAogICAgICAgIC1wYXRoPSIke2NoZWNrb3V0X2Rpcn0iIFwKICAgICAgICAtc3NsVmVyaWZ5PSIke1BBUkFNU19TU0xfVkVSSUZZfSIgXAogICAgICAgIC1zdWJtb2R1bGVzPSIke1BBUkFNU19TVUJNT0RVTEVTfSIgXAogICAgICAgIC1kZXB0aD0iJHtQQVJBTVNfREVQVEh9IiBcCiAgICAgICAgLXNwYXJzZUNoZWNrb3V0RGlyZWN0b3JpZXM9IiR7UEFSQU1TX1NQQVJTRV9DSEVDS09VVF9ESVJFQ1RPUklFU30iCmVsc2UKICAgIHBoYXNlICJSdW5uaW5nIHRoZSBwcm92aWRlZCBzY3JpcHRzICR7UEFSQU1TX0dJVF9TQ1JJUFR9IGluICR7Y2hlY2tvdXRfZGlyfSIKICAgIGV2YWwgIiR7UEFSQU1TX0dJVF9TQ1JJUFR9IgoKICAgIFJFU1VMVF9TSEE9IiQoZ2l0IHJldi1wYXJzZSBIRUFEIHwgdHIgLWQgJ1xuJykiCiAgICBFWElUX0NPREU9IiQ/IgogICAgaWYgWyAiJEVYSVRfQ09ERSIgIT0gMCBdCiAgICB0aGVuCiAgICAgICAgZXhpdCAkRVhJVF9DT0RFCiAgICBmaQogICAgIyBNYWtlIHN1cmUgd2UgZG9uJ3QgYWRkIGEgdHJhaWxpbmcgbmV3bGluZSB0byB0aGUgcmVzdWx0IQogICAgcHJpbnRmICIlcyIgIiRSRVNVTFRfU0hBIiA+ICIke1JFU1VMVFNfQ09NTUlUX1BBVEh9IgogICAgZWNobyAkUkVTVUxUX1NIQQpmaQoK\" |base64 -d \u003e\"/scripts/git-run.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKIwojIFNldHMgdXAgdGhlIGJhc2ljIGFuZCBTU0ggYXV0aGVudGljYXRpb24gYmFzZWQgb24gaW5mb3JtZWQgd29ya3NwYWNlcywgYXMgd2VsbCBhcyBjbGVhbmluZyB1cCB0aGUKIyBwcmV2aW91cyBnaXQtY2xvbmUgc3RhbGUgZGF0YS4KIwoKc2V0IC1ldQoKc291cmNlICQoQ0RQQVRIPSBjZCAtLSAiJChkaXJuYW1lIC0tICR7MH0pIiAmJiBwd2QpL2NvbW1vbi5zaAoKYXNzZXJ0X3JlcXVpcmVkX2NvbmZpZ3VyYXRpb25fb3JfZmFpbAoKcGhhc2UgIlByZXBhcmluZyB0aGUgZmlsZXN5c3RlbSBiZWZvcmUgY2xvbmluZyB0aGUgcmVwb3NpdG9yeSIKCmlmIFtbICIke1BBUkFNU19ERUxFVEVfRVhJU1RJTkd9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCXBoYXNlICJEZWxldGluZyBhbGwgY29udGVudHMgb2YgY2hlY2tvdXQtZGlyICcke2NoZWNrb3V0X2Rpcn0nIgoJY2xlYW5fZGlyICR7Y2hlY2tvdXRfZGlyfSB8fCB0cnVlCmZpCgppZiBbWyAiJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCXBoYXNlICJDb25maWd1cmluZyBHaXQgYXV0aGVudGljYXRpb24gd2l0aCAnYmFzaWMtYXV0aCcgV29ya3NwYWNlIGZpbGVzIgoKCWZvciBmIGluIC5naXQtY3JlZGVudGlhbHMgLmdpdGNvbmZpZzsgZG8KCQlzcmM9IiR7V09SS1NQQUNFU19CQVNJQ19BVVRIX1BBVEh9LyR7Zn0iCgkJcGhhc2UgIkNvcHlpbmcgJyR7c3JjfScgdG8gJyR7UEFSQU1TX1VTRVJfSE9NRX0nIgoJCWNvcHlfb3JfZmFpbCA0MDAgJHtzcmN9ICIke1BBUkFNU19VU0VSX0hPTUV9LyIKCWRvbmUKZmkKCmlmIFtbICIke1dPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9CT1VORH0iID09ICJ0cnVlIiBdXTsgdGhlbgoJcGhhc2UgIkNvcHlpbmcgJy5zc2gnIGZyb20gc3NoLWRpcmVjdG9yeSB3b3Jrc3BhY2UgKCcke1dPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9QQVRIfScpIgoKCWRvdF9zc2g9IiR7UEFSQU1TX1VTRVJfSE9NRX0vLnNzaCIKCWNvcHlfb3JfZmFpbCA3MDAgJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSH0gJHtkb3Rfc3NofQoJY2htb2QgLVJ2IDQwMCAke2RvdF9zc2h9LyoKZmkKCgpleGl0IDA=\" |base64 -d \u003e\"/scripts/prepare.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKIwojIFNjYW4gdGhlIGNsb25lZCByZXBvc2l0b3J5IGluIG9yZGVyIHRvIHJlcG9ydCBkZXRhaWxzIHdyaXR0aW5nIHRoZSByZXN1bHQgZmlsZXMuCiMKCnNldCAtZXUKCnNvdXJjZSAkKENEUEFUSD0gY2QgLS0gIiQoZGlybmFtZSAtLSAkezB9KSIgJiYgcHdkKS9jb21tb24uc2gKCmFzc2VydF9yZXF1aXJlZF9jb25maWd1cmF0aW9uX29yX2ZhaWwKCnBoYXNlICJDb2xsZWN0aW5nIGNsb25lZCByZXBvc2l0b3J5IGluZm9ybWF0aW9uICgnJHtjaGVja291dF9kaXJ9JykiCgpjZCAiJHtjaGVja291dF9kaXJ9IiB8fCBmYWlsICJOb3QgYWJsZSB0byBlbnRlciBjaGVja291dC1kaXIgJyR7Y2hlY2tvdXRfZGlyfSciCgpwaGFzZSAiU2V0dGluZyBvdXRwdXQgd29ya3NwYWNlIGFzIHNhZmUgZGlyZWN0b3J5ICgnJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0nKSIKZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLWFkZCBzYWZlLmRpcmVjdG9yeSAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iCgpyZXN1bHRfc2hhPSIkKGdpdCByZXYtcGFyc2UgSEVBRCkiCnJlc3VsdF9jb21taXR0ZXJfZGF0ZT0iJChnaXQgbG9nIC0xIC0tcHJldHR5PSVjdCkiCgpwaGFzZSAiUmVwb3J0aW5nIGxhc3QgY29tbWl0IGRhdGUgJyR7cmVzdWx0X2NvbW1pdHRlcl9kYXRlfSciCnByaW50ZiAiJXMiICIke3Jlc3VsdF9jb21taXR0ZXJfZGF0ZX0iID4ke1JFU1VMVFNfQ09NTUlUVEVSX0RBVEVfUEFUSH0KCnBoYXNlICJSZXBvcnRpbmcgcGFyc2VkIHJldmlzaW9uIFNIQSAnJHtyZXN1bHRfc2hhfSciCnByaW50ZiAiJXMiICIke3Jlc3VsdF9zaGF9IiA+JHtSRVNVTFRTX0NPTU1JVF9QQVRIfQoKcGhhc2UgIlJlcG9ydGluZyByZXBvc2l0b3J5IFVSTCAnJHtQQVJBTVNfVVJMfSciCnByaW50ZiAiJXMiICIke1BBUkFNU19VUkx9IiA+JHtSRVNVTFRTX1VSTF9QQVRIfQoKZXhpdCAw\" |base64 -d \u003e\"/scripts/report.sh\"\nchmod +x /scripts/*.sh;echo \"Running Script /scripts/prepare.sh\";\n    /scripts/prepare.sh;echo \"Running Script /scripts/git-run.sh\";\n    /scripts/git-run.sh;echo \"Running Script /scripts/report.sh\";\n    /scripts/report.sh;\n",
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "$(params.USER_HOME)",
                                            "name": "user-home"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.output.path)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "user-home"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "A `.ssh` directory with private key, `known_hosts`, `config`, etc.\nCopied to the Git user's home before cloning the repository, in order to\nserver as authentication mechanismBinding a Secret to this Workspace is\nstrongly recommended over other volume types.\n",
                                    "name": "ssh-directory",
                                    "optional": true
                                },
                                {
                                    "description": "A Workspace containing a `.gitconfig` and `.git-credentials` files.\nThese will be copied to the user's home before Git commands run. All\nother files in this Workspace are ignored. It is strongly recommended to\nuse `ssh-directory` over `basic-auth` whenever possible, and to bind a\nSecret to this Workspace over other volume types.\n",
                                    "name": "basic-auth",
                                    "optional": true
                                },
                                {
                                    "description": "A Workspace containing CA certificates, this will be used by Git to\nverify the peer with when interacting with remote repositories using\nHTTPS.\n",
                                    "name": "ssl-ca-directory",
                                    "optional": true
                                },
                                {
                                    "description": "A workspace that contains the fetched git repository, data will be placed on the root of the\nWorkspace, or on the relative path defined by the SUBDIRECTORY\nparameter.\n",
                                    "name": "output"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/displayName": "CLI",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-openshift",
                                "tekton.dev/tags": "cli"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2.2",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "kn",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This Task performs operations on Knative resources (services, revisions, routes) using kn CLI",
                            "params": [
                                {
                                    "default": [
                                        "help"
                                    ],
                                    "description": "kn CLI arguments to run",
                                    "name": "ARGS",
                                    "type": "array"
                                }
                            ],
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ARGS)"
                                    ],
                                    "command": [
                                        "/ko-app/kn"
                                    ],
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:0fa6d15d38601f266347cdd098e80bec9893f7e6b06e84efc4a8c50b3ff3c6cc",
                                    "name": "kn",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/displayName": "CLI",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-openshift",
                                "tekton.dev/tags": "cli"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2.2",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "kn-apply",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This task deploys a given image to a Knative Service. It uses `kn service apply` to create or update given knative service.",
                            "params": [
                                {
                                    "description": "Knative service name",
                                    "name": "SERVICE"
                                },
                                {
                                    "description": "Image to deploy",
                                    "name": "IMAGE"
                                }
                            ],
                            "steps": [
                                {
                                    "args": [
                                        "service",
                                        "apply",
                                        "$(params.SERVICE)",
                                        "--image",
                                        "$(params.IMAGE)"
                                    ],
                                    "command": [
                                        "/ko-app/kn"
                                    ],
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:0fa6d15d38601f266347cdd098e80bec9893f7e6b06e84efc4a8c50b3ff3c6cc",
                                    "name": "kn",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-maven",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.4.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "maven",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This Task can be used to run a Maven build.",
                            "params": [
                                {
                                    "default": [
                                        "package"
                                    ],
                                    "description": "maven goals to run",
                                    "name": "GOALS",
                                    "type": "array"
                                },
                                {
                                    "default": "",
                                    "description": "The Maven repository mirror url",
                                    "name": "MAVEN_MIRROR_URL",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "description": "The subdirectory within the repository for sources on which we want to execute maven goals.",
                                    "name": "SUBDIRECTORY",
                                    "type": "string"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_MAVEN_MIRROR_URL",
                                        "value": "$(params.MAVEN_MIRROR_URL)"
                                    },
                                    {
                                        "name": "PARAMS_SUBDIRECTORY",
                                        "value": "$(params.SUBDIRECTORY)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SERVER_SECRET_PATH",
                                        "value": "$(workspaces.server_secret.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_SERVER_SECRET_BOUND",
                                        "value": "$(workspaces.server_secret.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_PROXY_SECRET_PATH",
                                        "value": "$(workspaces.proxy_secret.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_PROXY_SECRET_BOUND",
                                        "value": "$(workspaces.proxy_secret.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_PROXY_CONFIGMAP_PATH",
                                        "value": "$(workspaces.proxy_configmap.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_PROXY_CONFIGMAP_BOUND",
                                        "value": "$(workspaces.proxy_configmap.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_MAVEN_SETTINGS_PATH",
                                        "value": "$(workspaces.maven_settings.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_MAVEN_SETTINGS_BOUND",
                                        "value": "$(workspaces.maven_settings.bound)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/ubi9/ubi-minimal@sha256:2f06ae0e6d3d9c4f610d32c480338eef474867f435d8d28625f2985e8acde6e8",
                                    "name": "maven-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggTUFWRU5fR0VORVJBVEVfRElSRUNUT1JZPSIke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9LyR7UEFSQU1TX1NVQkRJUkVDVE9SWX0vbWF2ZW4tZ2VuZXJhdGUiCgpkZWNsYXJlIC1yeCBNQVZFTl9TRVRUSU5HU19GSUxFPSIke01BVkVOX0dFTkVSQVRFX0RJUkVDVE9SWX0vc2V0dGluZ3MueG1sIgoKaWYgW1sgLWYgJHtNQVZFTl9TRVRUSU5HU19GSUxFfSBdXTsgdGhlbgogICAgZWNobyAidXNpbmcgZXhpc3RpbmcgJyR7TUFWRU5fU0VUVElOR1NfRklMRX0nIgogICAgY2F0ICR7TUFWRU5fU0VUVElOR1NfRklMRX0KICAgIGV4aXQgMApmaQoKbWtkaXIgIiR7TUFWRU5fR0VORVJBVEVfRElSRUNUT1JZfSIKCiMgQ2hlY2sgaWYgc2V0dGluZ3MueG1sIGV4aXN0cyBpbiB0aGUgd29ya3NwYWNlIG1hdmVuLXNldHRpbmdzCmlmIFtbIC1mICIke1dPUktTUEFDRVNfTUFWRU5fU0VUVElOR1NfUEFUSH0vc2V0dGluZ3MueG1sIiBdXTsgdGhlbgogICAgY3AgIiR7V09SS1NQQUNFU19NQVZFTl9TRVRUSU5HU19QQVRIfS9zZXR0aW5ncy54bWwiICIke01BVkVOX1NFVFRJTkdTX0ZJTEV9IgogICAgZWNobyAiVXNpbmcgJyR7TUFWRU5fU0VUVElOR1NfRklMRX0nIGNvcGllZCBmcm9tIG9wdGlvbmFsIHdvcmtzcGFjZSBtYXZlbi1zZXR0aW5ncyIKICAgIGNhdCAke01BVkVOX1NFVFRJTkdTX0ZJTEV9CiAgICBleGl0IDAKZmkKCmNhdCA+ICIke01BVkVOX1NFVFRJTkdTX0ZJTEV9IiA8PEVPRgo8c2V0dGluZ3M+CiAgICA8c2VydmVycz4KICAgIDwhLS0gVGhlIHNlcnZlcnMgYWRkZWQgaGVyZSBhcmUgZ2VuZXJhdGVkIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLiBEb24ndCBjaGFuZ2UuIC0tPgogICAgPCEtLSAjIyMgU0VSVkVSJ3MgVVNFUiBJTkZPIGZyb20gRU5WICMjIyAtLT4KICAgIDwvc2VydmVycz4KICAgIDxtaXJyb3JzPgogICAgPCEtLSBUaGUgbWlycm9ycyBhZGRlZCBoZXJlIGFyZSBnZW5lcmF0ZWQgZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIERvbid0IGNoYW5nZS4gLS0+CiAgICA8IS0tICMjIyBtaXJyb3JzIGZyb20gRU5WICMjIyAtLT4KICAgIDwvbWlycm9ycz4KICAgIDxwcm94aWVzPgogICAgPCEtLSBUaGUgcHJveGllcyBhZGRlZCBoZXJlIGFyZSBnZW5lcmF0ZWQgZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIERvbid0IGNoYW5nZS4gLS0+CiAgICA8IS0tICMjIyBIVFRQIHByb3h5IGZyb20gRU5WICMjIyAtLT4KICAgIDwvcHJveGllcz4KPC9zZXR0aW5ncz4KRU9GCgpjYXQgIiR7TUFWRU5fU0VUVElOR1NfRklMRX0iCgp4bWw9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19QUk9YWV9TRUNSRVRfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIGlmIHRlc3QgLWYgJHtXT1JLU1BBQ0VTX1BST1hZX1NFQ1JFVF9QQVRIfS91c2VybmFtZSAmJiB0ZXN0IC1mICR7V09SS1NQQUNFU19QUk9YWV9TRUNSRVRfUEFUSH0vcGFzc3dvcmQ7IHRoZW4KICAgIFBBUkFNU19QUk9YWV9VU0VSPSQoY2F0ICR7V09SS1NQQUNFU19QUk9YWV9TRUNSRVRfUEFUSH0vdXNlcm5hbWUpCiAgICBQQVJBTVNfUFJPWFlfUEFTU1dPUkQ9JChjYXQgJHtXT1JLU1BBQ0VTX1BST1hZX1NFQ1JFVF9QQVRIfS9wYXNzd29yZCkKCiAgICAjIEZldGNoaW5nIHByb3h5IGNvbmZpZ3VyYXRpb24gdmFsdWVzIGZyb20gQ29uZmlnTWFwIHdvcmtzcGFjZQogICAgUEFSQU1TX1BST1hZX0hPU1Q9JChjYXQgJHtXT1JLU1BBQ0VTX1BST1hZX0NPTkZJR01BUF9QQVRIfS9wcm94eV9ob3N0KQogICAgUEFSQU1TX1BST1hZX1BPUlQ9JChjYXQgJHtXT1JLU1BBQ0VTX1BST1hZX0NPTkZJR01BUF9QQVRIfS9wcm94eV9wb3J0KQogICAgUEFSQU1TX1BST1hZX1BST1RPQ09MPSQoY2F0ICR7V09SS1NQQUNFU19QUk9YWV9DT05GSUdNQVBfUEFUSH0vcHJveHlfcHJvdG9jb2wpCiAgICBQQVJBTVNfUFJPWFlfTk9OX1BST1hZX0hPU1RTPSQoY2F0ICR7V09SS1NQQUNFU19QUk9YWV9DT05GSUdNQVBfUEFUSH0vcHJveHlfbm9uX3Byb3h5X2hvc3RzKQoKICAgIGlmIFsgLW4gIiR7UEFSQU1TX1BST1hZX0hPU1R9IiAtYSAtbiAiJHtQQVJBTVNfUFJPWFlfUE9SVH0iIF07IHRoZW4KICAgICAgICB4bWw9Ijxwcm94eT5cCiAgICAgICAgPGlkPmdlbnByb3h5PC9pZD5cCiAgICAgICAgPGFjdGl2ZT50cnVlPC9hY3RpdmU+XAogICAgICAgIDxwcm90b2NvbD4ke1BBUkFNU19QUk9YWV9QUk9UT0NPTH08L3Byb3RvY29sPlwKICAgICAgICA8aG9zdD4ke1BBUkFNU19QUk9YWV9IT1NUfTwvaG9zdD5cCiAgICAgICAgPHBvcnQ+JHtQQVJBTVNfUFJPWFlfUE9SVH08L3BvcnQ+IgogICAgICAgIGlmIFsgLW4gIiR7UEFSQU1TX1BST1hZX1VTRVJ9IiAtYSAtbiAiJHtQQVJBTVNfUFJPWFlfUEFTU1dPUkR9IiBdOyB0aGVuCiAgICAgICAgICAgIHhtbD0iJHhtbFwKICAgICAgICAgICAgPHVzZXJuYW1lPiR7UEFSQU1TX1BST1hZX1VTRVJ9PC91c2VybmFtZT5cCiAgICAgICAgICAgIDxwYXNzd29yZD4ke1BBUkFNU19QUk9YWV9QQVNTV09SRH08L3Bhc3N3b3JkPiIKICAgICAgICBmaQogICAgICAgIGlmIFsgLW4gIiR7UEFSQU1TX1BST1hZX05PTl9QUk9YWV9IT1NUU30iIF07IHRoZW4KICAgICAgICAgICAgeG1sPSIkeG1sXAogICAgICAgICAgICA8bm9uUHJveHlIb3N0cz4ke1BBUkFNU19QUk9YWV9OT05fUFJPWFlfSE9TVFN9PC9ub25Qcm94eUhvc3RzPiIKICAgICAgICBmaQogICAgICAgIHhtbD0iJHhtbFwKICAgICAgICA8L3Byb3h5PiIKICAgICAgICBzZWQgLWkgInN8PCEtLSAjIyMgSFRUUCBwcm94eSBmcm9tIEVOViAjIyMgLS0+fCR4bWx8IiAke01BVkVOX1NFVFRJTkdTX0ZJTEV9CiAgICBmaQogICAgZWxzZQogICAgICAgIGVjaG8gIm5vICd1c2VybmFtZScgb3IgJ3Bhc3N3b3JkJyBmaWxlIGZvdW5kIGF0IHdvcmtzcGFjZSBwcm94eV9zZWNyZXQiCiAgICAgICAgZXhpdCAxCiAgICBmaQpmaQoKaWYgW1sgIiR7V09SS1NQQUNFU19TRVJWRVJfU0VDUkVUX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBpZiB0ZXN0IC1mICR7V09SS1NQQUNFU19TRVJWRVJfU0VDUkVUX1BBVEh9L3VzZXJuYW1lICYmIHRlc3QgLWYke1dPUktTUEFDRVNfU0VSVkVSX1NFQ1JFVF9QQVRIfS9wYXNzd29yZDsgdGhlbgoJU0VSVkVSX1VTRVI9JChjYXQgJHtXT1JLU1BBQ0VTX1NFUlZFUl9TRUNSRVRfUEFUSH0vdXNlcm5hbWUpCglTRVJWRVJfUEFTU1dPUkQ9JChjYXQgJHtXT1JLU1BBQ0VTX1NFUlZFUl9TRUNSRVRfUEFUSH0vcGFzc3dvcmQpCglpZiBbIC1uICIke1NFUlZFUl9VU0VSfSIgLWEgLW4gIiR7U0VSVkVSX1BBU1NXT1JEfSIgXTsgdGhlbgoJICAgIHhtbD0iPHNlcnZlcj5cCiAgICAgICAgPGlkPnNlcnZlcmlkPC9pZD4iCgkgICAgeG1sPSIkeG1sXAogICAgICAgIDx1c2VybmFtZT4ke1NFUlZFUl9VU0VSfTwvdXNlcm5hbWU+XAogICAgICAgIDxwYXNzd29yZD4ke1NFUlZFUl9QQVNTV09SRH08L3Bhc3N3b3JkPiIKCSAgICB4bWw9IiR4bWxcCiAgICAgICAgPC9zZXJ2ZXI+IgoJICAgIHNlZCAtaSAic3w8IS0tICMjIyBTRVJWRVIncyBVU0VSIElORk8gZnJvbSBFTlYgIyMjIC0tPnwkeG1sfCIgJHtNQVZFTl9TRVRUSU5HU19GSUxFfQoJICAgIGVjaG8gIlNFUlZFUiBDcmVkcyBVcGRhdGVkIgoJZmkKICAgIGVsc2UKCWVjaG8gIm5vICd1c2VyJyBvciAncGFzc3dvcmQnIGZpbGUgZm91bmQgYXQgd29ya3NwYWNlIHNlcnZlcl9zZWNyZXQiCiAgICAgICAgZXhpdCAxCiAgICBmaQpmaQoKaWYgWyAtbiAiJHtQQVJBTVNfTUFWRU5fTUlSUk9SX1VSTH0iIF07IHRoZW4KICAgIHhtbD0iICAgIDxtaXJyb3I+XAogICAgPGlkPm1pcnJvci5kZWZhdWx0PC9pZD5cCiAgICA8dXJsPiR7UEFSQU1TX01BVkVOX01JUlJPUl9VUkx9PC91cmw+XAogICAgPG1pcnJvck9mPmNlbnRyYWw8L21pcnJvck9mPlwKICAgIDwvbWlycm9yPiIKICAgIHNlZCAtaSAic3w8IS0tICMjIyBtaXJyb3JzIGZyb20gRU5WICMjIyAtLT58JHhtbHwiICR7TUFWRU5fU0VUVElOR1NfRklMRX0KZmkK\" |base64 -d \u003e\"/scripts/maven-generate.sh\"\nchmod +x /scripts/maven-*.sh;echo \"Running Script /scripts/maven-generate.sh\";\n  /scripts/maven-generate.sh;\n",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/maven-generate",
                                            "name": "maven-settings-dir"
                                        }
                                    ]
                                },
                                {
                                    "args": [
                                        "-s",
                                        "maven-generate/settings.xml",
                                        "$(params.GOALS[*])"
                                    ],
                                    "command": [
                                        "/usr/bin/mvn"
                                    ],
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/ubi9/openjdk-17@sha256:555c8bcd2596637befd1a6da4aa949c5a2640cf66e09c2dfb932afe37e39095e",
                                    "name": "maven-goals",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/maven-generate",
                                            "name": "maven-settings-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/$(params.SUBDIRECTORY)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "maven-settings-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "The workspace consisting of maven project.",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "The workspace containing server secrets (username and password)",
                                    "name": "server_secret",
                                    "optional": true
                                },
                                {
                                    "description": "The workspace containing proxy server access credentials (username, password).",
                                    "name": "proxy_secret",
                                    "optional": true
                                },
                                {
                                    "description": "The workspace containing some proxy values (proxy_port,proxy_host,proxy_protocol,proxy_non_proxy_hosts)",
                                    "name": "proxy_configmap",
                                    "optional": true
                                },
                                {
                                    "description": "The workspace consisting of the custom maven settings provided by the user.",
                                    "name": "maven_settings",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/displayName": "CLI",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-openshift",
                                "tekton.dev/tags": "cli"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2.2",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "opc",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "The opc task makes it easy to work with Tekton resources in OpenShift Pipelines.",
                            "params": [
                                {
                                    "default": "opc $@",
                                    "description": "opc CLI script to execute",
                                    "name": "SCRIPT",
                                    "type": "string"
                                },
                                {
                                    "default": [
                                        "--help"
                                    ],
                                    "description": "opc CLI arguments to run",
                                    "name": "ARGS",
                                    "type": "array"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_SCRIPT",
                                        "value": "$(params.SCRIPT)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_BOUND",
                                        "value": "$(workspaces.kubeconfig_dir.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_PATH",
                                        "value": "$(workspaces.kubeconfig_dir.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ARGS)"
                                    ],
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/openshift-pipelines/pipelines-opc-rhel9@sha256:143eead39e74de11ddac3d534dfae9025867391a7635c1222f03d6debb0c4349",
                                    "name": "opc",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9yZXRlZCBvbiB0aGUgZW52aXJvbm1lbnQKZnVuY3Rpb24gZXhwb3J0ZWRfb3JfZmFpbCgpIHsKICAgIGRlY2xhcmUgLWEgX3JlcXVpcmVkX3ZhcnM9IiR7QH0iCgogICAgZm9yIHYgaW4gJHtfcmVxdWlyZWRfdmFyc1tAXX07IGRvCiAgICAgICAgW1sgLXogIiR7IXZ9IiBdXSAmJgogICAgICAgICAgICBmYWlsICInJHt2fScgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldCEiCiAgICBkb25lCgogICAgcmV0dXJuIDAKfQoK\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2hvcHQgLXMgaW5oZXJpdF9lcnJleGl0CnNldCAtZXUgLW8gcGlwZWZhaWwKCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9jb21tb24uc2giCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9vcGMtY29tbW9uLnNoIgoKW1sgIiR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9CT1VORH0iID09ICJ0cnVlIiBdXSAmJiBcCltbIC1mICR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIfS9rdWJlY29uZmlnIF1dICYmIFwKZXhwb3J0IEtVQkVDT05GSUc9JHtXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX1BBVEh9L2t1YmVjb25maWcKCmV2YWwgJHtQQVJBTVNfU0NSSVBUfQo=\" |base64 -d \u003e\"/scripts/opc-client.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX1NDUklQVD0iJHtQQVJBTVNfU0NSSVBUOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIPSIke1dPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfUEFUSDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9CT1VORD0iJHtXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX0JPVU5EOi19IgoKIwojIEFzc2VydGluZyBFbnZpcm9ubWVudAojCgpleHBvcnRlZF9vcl9mYWlsIFwKICAgIFdPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfQk9VTkQgXAogICAgUEFSQU1TX1NDUklQVCBcCiAgIAo=\" |base64 -d \u003e\"/scripts/opc-common.sh\"\nchmod +x /scripts/opc-*.sh;echo \"Running Script /scripts/opc-client.sh\";\n  /scripts/opc-client.sh $@;\n",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ]
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "An optional workspace that allows you to provide a .kube/config file for opc to access the cluster. The file should be placed at the root of the Workspace with name kubeconfig.",
                                    "name": "kubeconfig_dir",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/displayName": "CLI",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-openshift",
                                "tekton.dev/tags": "cli"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2.2",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "openshift-client",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This task runs commands against the cluster provided by user and if not provided then where the Task is being executed.\nOpenShift is a Kubernetes distribution from Red Hat which provides oc, the OpenShift CLI that complements kubectl for simplifying deployment and configuration applications on OpenShift.",
                            "params": [
                                {
                                    "default": "oc help",
                                    "description": "The OpenShift CLI arguments to run",
                                    "name": "SCRIPT",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The OpenShift Version to use",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_SCRIPT",
                                        "value": "$(params.SCRIPT)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "WORKSPACES_MANIFEST_DIR_BOUND",
                                        "value": "$(workspaces.manifest_dir.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_MANIFEST_DIR_PATH",
                                        "value": "$(workspaces.manifest_dir.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_BOUND",
                                        "value": "$(workspaces.kubeconfig_dir.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_PATH",
                                        "value": "$(workspaces.kubeconfig_dir.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "image-registry.openshift-image-registry.svc:5000/openshift/cli:latest",
                                    "name": "oc",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9yZXRlZCBvbiB0aGUgZW52aXJvbm1lbnQKZnVuY3Rpb24gZXhwb3J0ZWRfb3JfZmFpbCgpIHsKICAgIGRlY2xhcmUgLWEgX3JlcXVpcmVkX3ZhcnM9IiR7QH0iCgogICAgZm9yIHYgaW4gJHtfcmVxdWlyZWRfdmFyc1tAXX07IGRvCiAgICAgICAgW1sgLXogIiR7IXZ9IiBdXSAmJgogICAgICAgICAgICBmYWlsICInJHt2fScgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldCEiCiAgICBkb25lCgogICAgcmV0dXJuIDAKfQoK\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2hvcHQgLXMgaW5oZXJpdF9lcnJleGl0CnNldCAtZXUgLW8gcGlwZWZhaWwKCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9jb21tb24uc2giCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9vYy1jb21tb24uc2giCgpbWyAiJHtXT1JLU1BBQ0VTX01BTklGRVNUX0RJUl9CT1VORH0iID09ICJ0cnVlIiBdXSAmJiBcCiAgICAgIGNkICR7V09SS1NQQUNFU19NQU5JRkVTVF9ESVJfUEFUSH0KCltbICIke1dPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfQk9VTkR9IiA9PSAidHJ1ZSIgXV0gJiYgXApbWyAtZiAke1dPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfUEFUSH0va3ViZWNvbmZpZyBdXSAmJiBcCmV4cG9ydCBLVUJFQ09ORklHPSR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIfS9rdWJlY29uZmlnCgpldmFsICIke1BBUkFNU19TQ1JJUFR9IgoK\" |base64 -d \u003e\"/scripts/oc-client.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKCmRlY2xhcmUgLXJ4IFBBUkFNU19TQ1JJUFQ9IiR7UEFSQU1TX1NDUklQVDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1ZFUlNJT049IiR7UEFSQU1TX1ZFUlNJT046LX0iCgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX01BTklGRVNUX0RJUl9QQVRIPSIke1dPUktTUEFDRVNfTUFOSUZFU1RfRElSX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfTUFOSUZFU1RfRElSX0JPVU5EPSIke1dPUktTUEFDRVNfTUFOSUZFU1RfRElSX0JPVU5EOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX1BBVEg9IiR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX0JPVU5EPSIke1dPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfQk9VTkQ6LX0iCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19NQU5JRkVTVF9ESVJfQk9VTkQgXAogICAgV09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9CT1VORCBcCiAgICBQQVJBTVNfU0NSSVBUIFwKICAgIFBBUkFNU19WRVJTSU9OCg==\" |base64 -d \u003e\"/scripts/oc-common.sh\"\nchmod +x /scripts/oc-*.sh;echo \"Running Script /scripts/oc-client.sh\";\n  /scripts/oc-client.sh $@;\n",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ]
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "The workspace which contains kubernetes manifests which we want to apply on the cluster.",
                                    "name": "manifest_dir",
                                    "optional": true
                                },
                                {
                                    "description": "The workspace which contains the the kubeconfig file if in case we want to run the oc command on another cluster.",
                                    "name": "kubeconfig_dir",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-dotnet",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's dotnet builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/dotnet\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/dotnet:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-go",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Golang builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/golang\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/golang:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-java",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Java builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/java\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/local/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/java:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-nodejs",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Nodejs builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/nodejs\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/nodejs:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-perl",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Perl builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/perl\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/perl:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-php",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's php builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/php\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/php:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-python",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Python builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/python\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/python:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-ruby",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Ruby builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/ruby\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/ruby:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "skopeo-copy",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Skopeo is a command line tool for working with remote image registries.\nSkopeo doesn’t require a daemon to be running while performing its operations. In particular,\nthe handy skopeo command called copy will ease the whole image copy operation. \nThe copy command will take care of copying the image from internal.registry to production.registry.\nIf your production registry requires credentials to login in order to push the image, skopeo can handle that as well.\nAfter copying the source and destination images SHA256 digest is stored as results.\n",
                            "params": [
                                {
                                    "default": "",
                                    "description": "Fully qualified source container image name, including tag, to be copied\ninto `DESTINATION_IMAGE_URL` param.\n",
                                    "name": "SOURCE_IMAGE_URL",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Fully qualified destination container image name, including tag.\n",
                                    "name": "DESTINATION_IMAGE_URL",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flags for the source registry, `true` is recommended.\n",
                                    "name": "SRC_TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flags for the destination registry, `true` is recommended.\n",
                                    "name": "DEST_TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Shows a more verbose (debug) output.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Additional args for skopeo copy command\n",
                                    "name": "ARGS",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Source image SHA256 digest.\n",
                                    "name": "SOURCE_DIGEST",
                                    "type": "string"
                                },
                                {
                                    "description": "Destination image SHA256 digest.\n",
                                    "name": "DESTINATION_DIGEST",
                                    "type": "string"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_SOURCE_IMAGE_URL",
                                        "value": "$(params.SOURCE_IMAGE_URL)"
                                    },
                                    {
                                        "name": "PARAMS_DESTINATION_IMAGE_URL",
                                        "value": "$(params.DESTINATION_IMAGE_URL)"
                                    },
                                    {
                                        "name": "PARAMS_SRC_TLS_VERIFY",
                                        "value": "$(params.SRC_TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_DEST_TLS_VERIFY",
                                        "value": "$(params.DEST_TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "PARAMS_ARGS",
                                        "value": "$(params.ARGS)"
                                    },
                                    {
                                        "name": "WORKSPACES_IMAGES_URL_BOUND",
                                        "value": "$(workspaces.images_url.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_IMAGES_URL_PATH",
                                        "value": "$(workspaces.images_url.path)"
                                    },
                                    {
                                        "name": "RESULTS_SOURCE_DIGEST_PATH",
                                        "value": "$(results.SOURCE_DIGEST.path)"
                                    },
                                    {
                                        "name": "RESULTS_DESTINATION_DIGEST_PATH",
                                        "value": "$(results.DESTINATION_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/workspace/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/rhel9/skopeo@sha256:a65a413f8a2864389a09dc750690d97afbcdc5c70821e0f85e99e8adba7954e0",
                                    "name": "skopeo-copy",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX1NPVVJDRV9JTUFHRV9VUkw9IiR7UEFSQU1TX1NPVVJDRV9JTUFHRV9VUkw6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19ERVNUSU5BVElPTl9JTUFHRV9VUkw9IiR7UEFSQU1TX0RFU1RJTkFUSU9OX0lNQUdFX1VSTDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1NSQ19UTFNfVkVSSUZZPSIke1BBUkFNU19TUkNfVExTX1ZFUklGWTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RFU1RfVExTX1ZFUklGWT0iJHtQQVJBTVNfREVTVF9UTFNfVkVSSUZZOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfVkVSQk9TRT0iJHtQQVJBTVNfVkVSQk9TRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0FSR1M9IiR7UEFSQU1TX0FSR1M6LX0iCgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0lNQUdFU19VUkxfUEFUSD0iJHtXT1JLU1BBQ0VTX0lNQUdFU19VUkxfUEFUSDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19JTUFHRVNfVVJMX0JPVU5EPSIke1dPUktTUEFDRVNfSU1BR0VTX1VSTF9CT1VORDotfSIKCmRlY2xhcmUgLXJ4IFJFU1VMVFNfU09VUkNFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfU09VUkNFX0RJR0VTVF9QQVRIOi19IgpkZWNsYXJlIC1yeCBSRVNVTFRTX0RFU1RJTkFUSU9OX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfREVTVElOQVRJT05fRElHRVNUX1BBVEg6LX0iCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgUkVTVUxUU19TT1VSQ0VfRElHRVNUX1BBVEggXAogICAgUkVTVUxUU19ERVNUSU5BVElPTl9ESUdFU1RfUEFUSAoKCiMKIyBTa29wZW8gQXV0aGVudGljYXRpb24KIwoKZGVjbGFyZSAteCBSRUdJU1RSWV9BVVRIX0ZJTEU9IiIKCmRvY2tlcl9jb25maWc9Ii93b3Jrc3BhY2UvaG9tZS8uZG9ja2VyL2NvbmZpZy5qc29uIgppZiBbWyAtZiAiJHtkb2NrZXJfY29uZmlnfSIgXV07IHRoZW4KICAgIHBoYXNlICJTZXR0aW5nIFJFR0lTVFJZX0FVVEhfRklMRSB0byAnJHtkb2NrZXJfY29uZmlnfSciCiAgICBSRUdJU1RSWV9BVVRIX0ZJTEU9JHtkb2NrZXJfY29uZmlnfQpmaQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggU0tPUEVPX0RFQlVHX0ZMQUc9IiIKCmlmIFtbICIke1BBUkFNU19WRVJCT1NFfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBTS09QRU9fREVCVUdfRkxBRz0iLS1kZWJ1ZyIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/skopeo-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2hvcHQgLXMgaW5oZXJpdF9lcnJleGl0CnNldCAtZXUgLW8gcGlwZWZhaWwKCnNvdXJjZSAiJChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpL2NvbW1vbi5zaCIKc291cmNlICIkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19Iikvc2tvcGVvLWNvbW1vbi5zaCIKCiMgRW5zdXJlIHRoZSAvdGVrdG9uL2hvbWUvLmRvY2tlciBkaXJlY3RvcnkgZXhpc3RzCm1rZGlyIC1wIC93b3Jrc3BhY2UvaG9tZS8uZG9ja2VyCgpzZXQgLXgKCmlmIFsgLW4gIiR7UEFSQU1TX1NPVVJDRV9JTUFHRV9VUkx9IiBdICYmIFsgLW4gIiR7UEFSQU1TX0RFU1RJTkFUSU9OX0lNQUdFX1VSTH0iIF07IHRoZW4KICAgIHBoYXNlICJDb3B5aW5nICcke1BBUkFNU19TT1VSQ0VfSU1BR0VfVVJMfScgaW50byAnJHtQQVJBTVNfREVTVElOQVRJT05fSU1BR0VfVVJMfSciCiAgICBza29wZW8gY29weSAke1NLT1BFT19ERUJVR19GTEFHfSBcCiAgICAgICAgLS1zcmMtdGxzLXZlcmlmeT0iJHtQQVJBTVNfU1JDX1RMU19WRVJJRll9IiBcCiAgICAgICAgLS1kZXN0LXRscy12ZXJpZnk9IiR7UEFSQU1TX0RFU1RfVExTX1ZFUklGWX0iIFwKICAgICAgICAke1BBUkFNU19BUkdTOiske1BBUkFNU19BUkdTfX0gXAogICAgICAgICIke1BBUkFNU19TT1VSQ0VfSU1BR0VfVVJMfSIgXAogICAgICAgICIke1BBUkFNU19ERVNUSU5BVElPTl9JTUFHRV9VUkx9IgplbGlmIFsgIiR7V09SS1NQQUNFU19JTUFHRVNfVVJMX0JPVU5EfSIgPT0gInRydWUiIF07IHRoZW4KICAgIHBoYXNlICJDb3B5aW5nIHVzaW5nIHVybC50eHQgZmlsZSIKICAgICMgRnVuY3Rpb24gdG8gY29weSBtdWx0aXBsZSBpbWFnZXMuCiAgICBjb3B5aW1hZ2VzKCkgewogICAgICAgIGZpbGVuYW1lPSIke1dPUktTUEFDRVNfSU1BR0VTX1VSTF9QQVRIfS91cmwudHh0IgogICAgICAgIFtbICEgLWYgIiR7ZmlsZW5hbWV9IiBdXSAmJiBmYWlsICJ1cmwudHh0IGZpbGUgbm90IGZvdW5kIGF0OiAnJHtmaWxlbmFtZX0nIgogICAgICAgIHdoaWxlIElGUz0gcmVhZCAtciBsaW5lIHx8IFsgLW4gIiRsaW5lIiBdCiAgICAgICAgZG8KICAgICAgICAgICAgcmVhZCAtcmEgU09VUkNFIDw8PCIke2xpbmV9IgogICAgICAgICAgICBza29wZW8gY29weSAiJHtTT1VSQ0VbQF19IiAke1NLT1BFT19ERUJVR19GTEFHfSAtLXNyYy10bHMtdmVyaWZ5PSIke1BBUkFNU19TUkNfVExTX1ZFUklGWX0iIC0tZGVzdC10bHMtdmVyaWZ5PSIke1BBUkFNU19ERVNUX1RMU19WRVJJRll9IiAke1BBUkFNU19BUkdTOiske1BBUkFNU19BUkdTfX0KICAgICAgICAgICAgZWNobyAiJGxpbmUiCiAgICAgICAgZG9uZSA8ICIkZmlsZW5hbWUiCiAgICB9CgogICAgY29weWltYWdlcwplbHNlCiAgZmFpbCAiTmVpdGhlciBTb3VyY2UvRGVzdGluYXRpb24gaW1hZ2UgVVJMIHBhcmFtZXRlcnMgbm9yIHdvcmtzcGFjZSBpbWFnZXNfdXJsIHByb3ZpZGVkIgpmaQo=\" |base64 -d \u003e\"/scripts/skopeo-copy.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2hvcHQgLXMgaW5oZXJpdF9lcnJleGl0CnNldCAtZXUgLW8gcGlwZWZhaWwKCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9jb21tb24uc2giCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9za29wZW8tY29tbW9uLnNoIgoKZnVuY3Rpb24gc2tvcGVvX2luc3BlY3QoKSB7CiAgICBsb2NhbCBpbWFnZT0iJDEiCiAgICBsb2NhbCB0bHNfdmVyaWZ5PSIkMiIKICAgIHNrb3BlbyBpbnNwZWN0ICR7U0tPUEVPX0RFQlVHX0ZMQUd9IFwKICAgICAgICAtLXRscy12ZXJpZnk9IiR7dGxzX3ZlcmlmeX0iIFwKICAgICAgICAtLWZvcm1hdD0ne3sgLkRpZ2VzdCB9fScgXAogICAgICAgICIke2ltYWdlfSIKfQoKaWYgWyAtbiAiJHtQQVJBTVNfU09VUkNFX0lNQUdFX1VSTH0iIF0gJiYgWyAtbiAiJHtQQVJBTVNfREVTVElOQVRJT05fSU1BR0VfVVJMfSIgXTsgdGhlbgogICAgcGhhc2UgIkV4dHJhY3RpbmcgJyR7UEFSQU1TX1NPVVJDRV9JTUFHRV9VUkx9JyBzb3VyY2UgaW1hZ2UgZGlnZXN0IgogICAgc291cmNlX2RpZ2VzdD0iJChza29wZW9faW5zcGVjdCAiJHtQQVJBTVNfU09VUkNFX0lNQUdFX1VSTH0iICIke1BBUkFNU19TUkNfVExTX1ZFUklGWX0iKSIKICAgIHBoYXNlICJTb3VyY2UgaW1hZ2UgZGlnZXN0ICcke3NvdXJjZV9kaWdlc3R9JyIKCiAgICBwaGFzZSAiRXh0cmFjdGluZyAnJHtQQVJBTVNfREVTVElOQVRJT05fSU1BR0VfVVJMfScgZGVzdGluYXRpb24gaW1hZ2UgZGlnZXN0IgogICAgZGVzdGluYXRpb25fZGlnZXN0PSIkKHNrb3Blb19pbnNwZWN0ICIke1BBUkFNU19ERVNUSU5BVElPTl9JTUFHRV9VUkx9IiAiJHtQQVJBTVNfREVTVF9UTFNfVkVSSUZZfSIpIgogICAgcGhhc2UgIkRlc3RpbmF0aW9uIGltYWdlIGRpZ2VzdCAnJHtkZXN0aW5hdGlvbl9kaWdlc3R9JyIKZWxzZQogICAgcGhhc2UgIkV4dHJhY3Rpbmcgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBpbWFnZSBkaWdlc3RzIGZvciBpbWFnZXMgZnJvbSB1cmwudHh0IGZpbGUiCiAgICBmaWxlbmFtZT0iJHtXT1JLU1BBQ0VTX0lNQUdFU19VUkxfUEFUSH0vdXJsLnR4dCIKICAgIHNvdXJjZV9kaWdlc3Q9IiIKICAgIGRlc3RpbmF0aW9uX2RpZ2VzdD0iIgogICAgd2hpbGUgSUZTPSByZWFkIC1yIGxpbmUgfHwgWyAtbiAiJGxpbmUiIF0KICAgIGRvCiAgICAgICAgcmVhZCAtcmEgU09VUkNFIDw8PCIke2xpbmV9IgogICAgICAgIHNvdXJjZV9kaWdlc3Q9IiRzb3VyY2VfZGlnZXN0ICQoc2tvcGVvX2luc3BlY3QgJHtTT1VSQ0VbMF19ICR7UEFSQU1TX1NSQ19UTFNfVkVSSUZZfSkiCiAgICAgICAgZGVzdGluYXRpb25fZGlnZXN0PSIkZGVzdGluYXRpb25fZGlnZXN0ICQoc2tvcGVvX2luc3BlY3QgJHtTT1VSQ0VbMV19ICR7UEFSQU1TX0RFU1RfVExTX1ZFUklGWX0pIgogICAgZG9uZSA8ICIkZmlsZW5hbWUiCiAgICAjIFJlbW92ZSB3aGl0ZXNwYWNlIGZyb20gdGhlIHN0YXJ0CiAgICBzb3VyY2VfZGlnZXN0PSIke3NvdXJjZV9kaWdlc3QjIH0iCiAgICBkZXN0aW5hdGlvbl9kaWdlc3Q9IiR7ZGVzdGluYXRpb25fZGlnZXN0IyB9IgogICAgcGhhc2UgIlNvdXJjZSBpbWFnZSBkaWdlc3RzICcke3NvdXJjZV9kaWdlc3R9JyIKICAgIHBoYXNlICJEZXN0aW5hdGlvbiBpbWFnZSBkaWdlc3RzICcke2Rlc3RpbmF0aW9uX2RpZ2VzdH0nIgpmaQoKcHJpbnRmICIlcyIgIiR7c291cmNlX2RpZ2VzdH0iID4gIiR7UkVTVUxUU19TT1VSQ0VfRElHRVNUX1BBVEh9IgpwcmludGYgIiVzIiAiJHtkZXN0aW5hdGlvbl9kaWdlc3R9IiA+ICIke1JFU1VMVFNfREVTVElOQVRJT05fRElHRVNUX1BBVEh9Igo=\" |base64 -d \u003e\"/scripts/skopeo-results.sh\"\nls /scripts/skopeo-*.sh;\nchmod +x /scripts/skopeo-*.sh;echo \"Running Script /scripts/skopeo-copy.sh\";\n  /scripts/skopeo-copy.sh \"$@\";echo \"Running Script /scripts/skopeo-results.sh\";\n  /scripts/skopeo-results.sh \"$@\";\n",
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ]
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "For storing image urls in case of more than one image to copy. It must have a url.txt file at the root path\ncontaining a source and a destination image separated by a space on each line.\n",
                                    "name": "images_url",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/displayName": "CLI",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-openshift",
                                "tekton.dev/tags": "cli"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2.2",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "tkn",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This task performs operations on Tekton resources using tkn.",
                            "params": [
                                {
                                    "default": "tkn $@",
                                    "description": "tkn CLI script to execute",
                                    "name": "SCRIPT",
                                    "type": "string"
                                },
                                {
                                    "default": [
                                        "--help"
                                    ],
                                    "description": "tkn CLI arguments to run",
                                    "name": "ARGS",
                                    "type": "array"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_SCRIPT",
                                        "value": "$(params.SCRIPT)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_BOUND",
                                        "value": "$(workspaces.kubeconfig_dir.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_PATH",
                                        "value": "$(workspaces.kubeconfig_dir.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ARGS)"
                                    ],
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/openshift-pipelines/pipelines-cli-tkn-rhel9@sha256:72b20bc29e4abbb9cbf473b603c71b4880d64b66c1c2b344e1954c7e01af6095",
                                    "name": "tkn",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9yZXRlZCBvbiB0aGUgZW52aXJvbm1lbnQKZnVuY3Rpb24gZXhwb3J0ZWRfb3JfZmFpbCgpIHsKICAgIGRlY2xhcmUgLWEgX3JlcXVpcmVkX3ZhcnM9IiR7QH0iCgogICAgZm9yIHYgaW4gJHtfcmVxdWlyZWRfdmFyc1tAXX07IGRvCiAgICAgICAgW1sgLXogIiR7IXZ9IiBdXSAmJgogICAgICAgICAgICBmYWlsICInJHt2fScgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldCEiCiAgICBkb25lCgogICAgcmV0dXJuIDAKfQoK\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2hvcHQgLXMgaW5oZXJpdF9lcnJleGl0CnNldCAtZXUgLW8gcGlwZWZhaWwKCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9jb21tb24uc2giCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS90a24tY29tbW9uLnNoIgoKW1sgIiR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9CT1VORH0iID09ICJ0cnVlIiBdXSAmJiBcCltbIC1mICR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIfS9rdWJlY29uZmlnIF1dICYmIFwKZXhwb3J0IEtVQkVDT05GSUc9JHtXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX1BBVEh9L2t1YmVjb25maWcKCmV2YWwgJHtQQVJBTVNfU0NSSVBUfQo=\" |base64 -d \u003e\"/scripts/tkn-client.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX1NDUklQVD0iJHtQQVJBTVNfU0NSSVBUOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIPSIke1dPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfUEFUSDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9CT1VORD0iJHtXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX0JPVU5EOi19IgoKIwojIEFzc2VydGluZyBFbnZpcm9ubWVudAojCgpleHBvcnRlZF9vcl9mYWlsIFwKICAgIFdPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfQk9VTkQgXAogICAgUEFSQU1TX1NDUklQVCBcCiAgIAo=\" |base64 -d \u003e\"/scripts/tkn-common.sh\"\nchmod +x /scripts/tkn-*.sh;echo \"Running Script /scripts/tkn-client.sh\";\n  /scripts/tkn-client.sh $@;\n",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ]
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "An optional workspace that allows you to provide a .kube/config file for tkn to access the cluster. The file should be placed at the root of the Workspace with name kubeconfig.",
                                    "name": "kubeconfig_dir",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "name": "tekton-ecosystem-task-list-binding",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-ecosystem-task-list-role"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "932255a18d4b2e23c4733c9c399a5196f317416e15cff677e6f86ec95ab23cf0",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:08Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "addon-custom-triggersresources-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonAddon",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "custom-triggersresources"
                },
                "name": "addon-custom-triggersresources-2wmg8",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonAddon",
                        "name": "addon",
                        "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                    }
                ],
                "resourceVersion": "22695",
                "uid": "f486fae5-69f0-4572-9e30-33c62039c6a1"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "bitbucket-cloud-pullreq",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "gitrepo-url",
                                    "value": "$(body.pullrequest.source.repository.links.html.href)"
                                },
                                {
                                    "name": "pullreq-sha",
                                    "value": "$(body.pullrequest.source.commit.hash)"
                                },
                                {
                                    "name": "pullreq-state",
                                    "value": "$(body.pullrequest.state)"
                                },
                                {
                                    "name": "pullreq-number",
                                    "value": "$(body.pullrequest.id)"
                                },
                                {
                                    "name": "pullreq-repo-name",
                                    "value": "$(body.pullrequest.destination.repository.name)"
                                },
                                {
                                    "name": "pullreq-html-url",
                                    "value": "$(body.pullrequest.links.html.href)"
                                },
                                {
                                    "name": "pullreq-title",
                                    "value": "$(body.pullrequest.title)"
                                },
                                {
                                    "name": "user-type",
                                    "value": "$(body.pullrequest.author.display_name)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "bitbucket-cloud-push",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "git-revision",
                                    "value": "$(body.push.changes[0].new.name)"
                                },
                                {
                                    "name": "gitrepo-url",
                                    "value": "$(body.repository.links.html.href)"
                                },
                                {
                                    "name": "git-repo-name",
                                    "value": "$(body.repository.name)"
                                },
                                {
                                    "name": "pusher-name",
                                    "value": "$(body.actor.display_name)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "bitbucket-cloud-pullreq-add-comment",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "comment",
                                    "value": "$(body.comment.content.raw)"
                                },
                                {
                                    "name": "comment-user-login",
                                    "value": "$(body.comment.user.display_name)"
                                },
                                {
                                    "name": "pullreq-number",
                                    "value": "$(body.comment.pullrequest.id)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "bitbucket-pullreq",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "gitrepo-url",
                                    "value": "$(body.pullRequest.fromRef.repository.links.clone[?(@.name==\"ssh\")].href)"
                                },
                                {
                                    "name": "pullreq-sha",
                                    "value": "$(body.pullRequest.fromRef.latestCommit)"
                                },
                                {
                                    "name": "pullreq-state",
                                    "value": "$(body.pullRequest.state)"
                                },
                                {
                                    "name": "pullreq-number",
                                    "value": "$(body.pullRequest.id)"
                                },
                                {
                                    "name": "pullreq-repo-name",
                                    "value": "$(body.pullRequest.toRef.repository.name)"
                                },
                                {
                                    "name": "pullreq-html-url",
                                    "value": "$(body.pullRequest.links.self[0].href)"
                                },
                                {
                                    "name": "pullreq-title",
                                    "value": "$(body.pullRequest.title)"
                                },
                                {
                                    "name": "user-type",
                                    "value": "$(body.pullRequest.author.user.type)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "bitbucket-push",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "git-revision",
                                    "value": "$(body.changes[0].ref.displayId)"
                                },
                                {
                                    "name": "gitrepo-url",
                                    "value": "$(body.repository.links.clone[0].href)"
                                },
                                {
                                    "name": "git-repo-name",
                                    "value": "$(body.repository.name)"
                                },
                                {
                                    "name": "pusher-name",
                                    "value": "$(body.actor.name)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "bitbucket-pullreq-add-comment",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "comment",
                                    "value": "$(body.comment.text)"
                                },
                                {
                                    "name": "comment-user-login",
                                    "value": "$(body.comment.author.name)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "github-pullreq",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "git-repo-url",
                                    "value": "$(body.repository.html_url)"
                                },
                                {
                                    "name": "pullreq-sha",
                                    "value": "$(body.pull_request.head.sha)"
                                },
                                {
                                    "name": "pullreq-action",
                                    "value": "$(body.action)"
                                },
                                {
                                    "name": "pullreq-number",
                                    "value": "$(body.number)"
                                },
                                {
                                    "name": "pullreq-repo-full_name",
                                    "value": "$(body.repository.full_name)"
                                },
                                {
                                    "name": "pullreq-html-url",
                                    "value": "$(body.pull_request.html_url)"
                                },
                                {
                                    "name": "pullreq-title",
                                    "value": "$(body.pull_request.title)"
                                },
                                {
                                    "name": "pullreq-issue-url",
                                    "value": "$(body.pull_request.issue_url)"
                                },
                                {
                                    "name": "organisations-url",
                                    "value": "$(body.pull_request.user.organizations_url)"
                                },
                                {
                                    "name": "user-type",
                                    "value": "$(body.pull_request.user.type)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "github-push",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "git-revision",
                                    "value": "$(body.head_commit.id)"
                                },
                                {
                                    "name": "git-commit-message",
                                    "value": "$(body.head_commit.message)"
                                },
                                {
                                    "name": "git-repo-url",
                                    "value": "$(body.repository.url)"
                                },
                                {
                                    "name": "git-repo-clone-url",
                                    "value": "$(body.repository.html_url)"
                                },
                                {
                                    "name": "git-repo-name",
                                    "value": "$(body.repository.name)"
                                },
                                {
                                    "name": "content-type",
                                    "value": "$(header.Content-Type)"
                                },
                                {
                                    "name": "pusher-name",
                                    "value": "$(body.pusher.name)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "github-pullreq-review-comment",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "comment",
                                    "value": "$(body.comment.body)"
                                },
                                {
                                    "name": "comment-user-login",
                                    "value": "$(body.comment.user.login)"
                                },
                                {
                                    "name": "merge-commit-sha",
                                    "value": "$(body.pull_request.merge_commit_sha)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "gitlab-mergereq",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "git-repo-url",
                                    "value": "$(body.project.git_http_url)"
                                },
                                {
                                    "name": "git-repo-ssh-url",
                                    "value": "$(body.repository.git_ssh_url )"
                                },
                                {
                                    "name": "mergereq-sha",
                                    "value": "$(body.object_attributes.last_commit.id)"
                                },
                                {
                                    "name": "mergereq-action",
                                    "value": "$(body.object_attributes.action)"
                                },
                                {
                                    "name": "mergereq-number",
                                    "value": "$(body.object_attributes.iid)"
                                },
                                {
                                    "name": "mergereq-repo-name",
                                    "value": "$(body.repository.name)"
                                },
                                {
                                    "name": "mergereq-url",
                                    "value": "$(body.object_attributes.url)"
                                },
                                {
                                    "name": "mergereq-title",
                                    "value": "$(body.object_attributes.title)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "gitlab-push",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "git-revision",
                                    "value": "$(body.checkout_sha)"
                                },
                                {
                                    "name": "git-commit-message",
                                    "value": "$(body.commits[0].message)"
                                },
                                {
                                    "name": "git-repo-url",
                                    "value": "$(body.repository.git_http_url)"
                                },
                                {
                                    "name": "git-repo-ssh-url",
                                    "value": "$(body.repository.git_ssh_url)"
                                },
                                {
                                    "name": "git-repo-name",
                                    "value": "$(body.repository.name)"
                                },
                                {
                                    "name": "pusher-name",
                                    "value": "$(body.user_name)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "gitlab-review-comment-on-issues",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "issue-url",
                                    "value": "$(body.issue.url)"
                                },
                                {
                                    "name": "issue-title",
                                    "value": "$(body.issue.title)"
                                },
                                {
                                    "name": "issue-comment-link",
                                    "value": "$(body.object_attributes.url)"
                                },
                                {
                                    "name": "issue-owner",
                                    "value": "$(body.user.name)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "gitlab-review-comment-on-mergerequest",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "mergereq-url",
                                    "value": "$(body.merge_request.url)"
                                },
                                {
                                    "name": "comment-description",
                                    "value": "$(body.object_attributes.description)"
                                },
                                {
                                    "name": "comment-url",
                                    "value": "$(body.object_attributes.url)"
                                },
                                {
                                    "name": "mr-owner",
                                    "value": "$(body.user.name)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "gitlab-review-comment-on-commit",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "commit-url",
                                    "value": "$(body.commit.url)"
                                },
                                {
                                    "name": "comment-description",
                                    "value": "$(body.object_attributes.description)"
                                },
                                {
                                    "name": "comment-url",
                                    "value": "$(body.object_attributes.url)"
                                },
                                {
                                    "name": "commit-owner",
                                    "value": "$(body.user.name)"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterTriggerBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "gitlab-review-comment-on-snippet",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "params": [
                                {
                                    "name": "snippet-comment-description",
                                    "value": "$(body.object_attributes.description)"
                                },
                                {
                                    "name": "snippet-comment-url",
                                    "value": "$(body.object_attributes.url)"
                                },
                                {
                                    "name": "snippet-title",
                                    "value": "$(body.snippet.title)"
                                },
                                {
                                    "name": "snippet-type",
                                    "value": "$(body.snippet.type)"
                                },
                                {
                                    "name": "snippet-owner",
                                    "value": "$(body.user.name)"
                                }
                            ]
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:12Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:12Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:12Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:12Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:12Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:12Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:12Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:12Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "932255a18d4b2e23c4733c9c399a5196f317416e15cff677e6f86ec95ab23cf0",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:08Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "addon-versioned-resolverstepactions-1.20-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonAddon",
                    "operator.tekton.dev/release-minor-version": "1.20",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "custom-versionedresolverstepaction"
                },
                "name": "addon-versioned-resolverstepactions-1.20-h8ljl",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonAddon",
                        "name": "addon",
                        "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                    }
                ],
                "resourceVersion": "22623",
                "uid": "53d4c048-fc9a-483b-a5ca-f8cb449c8d1f"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "StepAction",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/pipelines.minVersion": "0.56.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/tekton-caches",
                                "tekton.dev/tags": "cache"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "cache-fetch-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "args": [
                                "$(params.PATTERNS[*])"
                            ],
                            "env": [
                                {
                                    "name": "PARAM_SOURCE",
                                    "value": "$(params.SOURCE)"
                                },
                                {
                                    "name": "PARAM_CACHE_PATH",
                                    "value": "$(params.CACHE_PATH)"
                                },
                                {
                                    "name": "PARAM_WORKING_DIR",
                                    "value": "$(params.WORKING_DIR)"
                                },
                                {
                                    "name": "PARAM_INSECURE",
                                    "value": "$(params.INSECURE)"
                                },
                                {
                                    "name": "DOCKER_CONFIG",
                                    "value": "$(params.DOCKER_CONFIG)"
                                },
                                {
                                    "name": "GOOGLE_APPLICATION_CREDENTIALS",
                                    "value": "$(params.GOOGLE_APPLICATION_CREDENTIALS)"
                                },
                                {
                                    "name": "AWS_CONFIG_FILE",
                                    "value": "$(params.AWS_CONFIG_FILE)"
                                },
                                {
                                    "name": "AWS_SHARED_CREDENTIALS_FILE",
                                    "value": "$(params.AWS_SHARED_CREDENTIALS_FILE)"
                                },
                                {
                                    "name": "BLOB_QUERY_PARAMS",
                                    "value": "$(params.BLOB_QUERY_PARAMS)"
                                }
                            ],
                            "image": "registry.redhat.io/openshift-pipelines/pipelines-cache-rhel9@sha256:b14dec3468690ea3292e1be758ad0b171636a1624d3baf8d41ced1ea91ffc1ab",
                            "params": [
                                {
                                    "description": "Regular expression to select files to include to compute the hash.\nFor example, in the case of a Go project, you can use `go.mod` for this, so the value would be \"**/go.sum\" (to work with possible sub go modules as well).\n",
                                    "name": "PATTERNS",
                                    "type": "array"
                                },
                                {
                                    "description": "The source from where the cache should be fetched. It's a URI with the scheme defining the \"provider\". In addition, one can add a {{hash}} variable to use the computed hash in the reference (oci image tags, path in s3, …)\nCurrently supported:\n- oci:// (e.g. oci://quay.io/vdemeester/go-cache:{{hash}}\n- s3:// (e.g. s3://\n",
                                    "name": "SOURCE",
                                    "type": "string"
                                },
                                {
                                    "description": "Path where to extract the cache content.\nIt can refer any folder, backed by a workspace or a volume, or nothing.\n",
                                    "name": "CACHE_PATH",
                                    "type": "string"
                                },
                                {
                                    "description": "The working dir from where the files patterns needs to be taken\n",
                                    "name": "WORKING_DIR",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Whether to use insecure mode for fetching the cache\n",
                                    "name": "INSECURE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to find the docker config. If left empty, it is ignored.\nIf already using service account based docker secret, then this isn't required.\n",
                                    "name": "DOCKER_CONFIG",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path where to find the google credentials. If left empty, it is ignored.\n",
                                    "name": "GOOGLE_APPLICATION_CREDENTIALS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to the aws config file. If left empty, it is ignored.\n",
                                    "name": "AWS_CONFIG_FILE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to find the aws credentials file. If left empty, it is ignored.\n",
                                    "name": "AWS_SHARED_CREDENTIALS_FILE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Blob Query Params to support configure s3, gcs and azure. This is optional unless some additional features of storage providers are required like s3 acceleration, fips, pathstyle,etc\n",
                                    "name": "BLOB_QUERY_PARAMS",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Whether a cache was fetched or not (true/false). This step won't fail if it didn't manage to fetch cache. This results allows the next step to act whether something was fetched or not.\n",
                                    "name": "fetched"
                                }
                            ],
                            "script": "#!/bin/sh\nPATTERN_FLAGS=\"\"\necho \"Patterns: $*\"\nfor p in $*; do\n  PATTERN_FLAGS=\"${PATTERN_FLAGS} --pattern ${p}\"\ndone\n\nset -x\n/ko-app/cache fetch ${PATTERN_FLAGS} \\\n                    --source ${PARAM_SOURCE} \\\n                    --folder ${PARAM_CACHE_PATH} \\\n                    --insecure ${PARAM_INSECURE} \\\n                    --workingdir ${PARAM_WORKING_DIR}\nif [ $? -eq 0 ]; then\n  echo -n true \u003e $(step.results.fetched.path)\nelse\n  echo -n false \u003e $(step.results.fetched.path)\nfi\n"
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "StepAction",
                        "metadata": {
                            "annotations": {
                                "tekton.dev/pipelines.minVersion": "0.56.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/tekton-caches",
                                "tekton.dev/tags": "cache"
                            },
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "cache-upload-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "args": [
                                "$(params.PATTERNS[*])"
                            ],
                            "env": [
                                {
                                    "name": "PARAM_TARGET",
                                    "value": "$(params.TARGET)"
                                },
                                {
                                    "name": "PARAM_CACHE_PATH",
                                    "value": "$(params.CACHE_PATH)"
                                },
                                {
                                    "name": "PARAM_WORKING_DIR",
                                    "value": "$(params.WORKING_DIR)"
                                },
                                {
                                    "name": "PARAM_INSECURE",
                                    "value": "$(params.INSECURE)"
                                },
                                {
                                    "name": "RESULT_CACHE_FETCHED",
                                    "value": "$(params.FETCHED)"
                                },
                                {
                                    "name": "PARAM_FORCE_CACHE_UPLOAD",
                                    "value": "$(params.FORCE_CACHE_UPLOAD)"
                                },
                                {
                                    "name": "DOCKER_CONFIG",
                                    "value": "$(params.DOCKER_CONFIG)"
                                },
                                {
                                    "name": "GOOGLE_APPLICATION_CREDENTIALS",
                                    "value": "$(params.GOOGLE_APPLICATION_CREDENTIALS)"
                                },
                                {
                                    "name": "AWS_CONFIG_FILE",
                                    "value": "$(params.AWS_CONFIG_FILE)"
                                },
                                {
                                    "name": "AWS_SHARED_CREDENTIALS_FILE",
                                    "value": "$(params.AWS_SHARED_CREDENTIALS_FILE)"
                                },
                                {
                                    "name": "BLOB_QUERY_PARAMS",
                                    "value": "$(params.BLOB_QUERY_PARAMS)"
                                }
                            ],
                            "image": "registry.redhat.io/openshift-pipelines/pipelines-cache-rhel9@sha256:b14dec3468690ea3292e1be758ad0b171636a1624d3baf8d41ced1ea91ffc1ab",
                            "params": [
                                {
                                    "description": "Regular expression to select files to include to compute the hash.\nFor example, in the case of a Go project, you can use `go.mod` for this, so the value would be \"**/go.sum\" (to work with possible sub go modules as well).\n",
                                    "name": "PATTERNS",
                                    "type": "array"
                                },
                                {
                                    "description": "The target from where the cache should be uploaded. It's a URI with the scheme defining the \"provider\". In addition, one can add a {{hash}} variable to use the computed hash in the reference (oci image tags, path in s3, …)\nCurrently supported:\n- oci:// (e.g. oci://quay.io/vdemeester/go-cache:{{hash}}\n- s3:// (e.g. s3://\n",
                                    "name": "TARGET",
                                    "type": "string"
                                },
                                {
                                    "description": "Path where to extract the cache content.\nIt can refer any folder, backed by a workspace or a volume, or nothing.\n",
                                    "name": "CACHE_PATH",
                                    "type": "string"
                                },
                                {
                                    "description": "The working dir from where the files patterns needs to be taken\n",
                                    "name": "WORKING_DIR",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Whether to use insecure mode for fetching the cache\n",
                                    "name": "INSECURE",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Wether cache was fetched or not previously\n",
                                    "name": "FETCHED",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Whether to force the cache upload even if it was fetched previously\n",
                                    "name": "FORCE_CACHE_UPLOAD",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to find the docker config. If left empty, it is ignored.\nIf already using service account based docker secret, then this isn't required.\n",
                                    "name": "DOCKER_CONFIG",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path where to find the google credentials. If left empty, it is ignored.\n",
                                    "name": "GOOGLE_APPLICATION_CREDENTIALS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to the aws config file. If left empty, it is ignored.\n",
                                    "name": "AWS_CONFIG_FILE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "The path to find the aws credentials file. If left empty, it is ignored.\n",
                                    "name": "AWS_SHARED_CREDENTIALS_FILE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Blob Query Params to support configure s3, gcs and azure. This is optional unless some additional features of storage providers are required like s3 acceleration, fips, pathstyle,etc\n",
                                    "name": "BLOB_QUERY_PARAMS",
                                    "type": "string"
                                }
                            ],
                            "script": "#!/usr/bin/env sh\nset -x\nif [[ ${PARAM_FORCE_CACHE_UPLOAD} == \"false\" \u0026\u0026 ${RESULT_CACHE_FETCHED} == \"true\" ]]; then\n  echo \"no need to upload cache\"\n  exit 0\nfi\n\nPATTERN_FLAGS=\"\"\necho \"Patterns: $*\"\nfor p in $*; do\n  PATTERN_FLAGS=\"${PATTERN_FLAGS} --pattern ${p}\"\ndone\n\nset -ex\n/ko-app/cache upload ${PATTERN_FLAGS} \\\n                    --target ${PARAM_TARGET} \\\n                    --folder ${PARAM_CACHE_PATH} \\\n                    --insecure ${PARAM_INSECURE} \\\n                    --workingdir ${PARAM_WORKING_DIR}\n"
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "tekton-ecosystem-stepaction-list-role",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "stepactions"
                                ],
                                "verbs": [
                                    "get",
                                    "list"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1beta1",
                        "kind": "StepAction",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "Git",
                                "tekton.dev/displayName": "git",
                                "tekton.dev/pipelines.minVersion": "0.54.0",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-git",
                                "tekton.dev/tags": "git"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.4.1",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "git-clone-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "env": [
                                {
                                    "name": "PARAMS_URL",
                                    "value": "$(params.URL)"
                                },
                                {
                                    "name": "PARAMS_REVISION",
                                    "value": "$(params.REVISION)"
                                },
                                {
                                    "name": "PARAMS_REFSPEC",
                                    "value": "$(params.REFSPEC)"
                                },
                                {
                                    "name": "PARAMS_SUBMODULES",
                                    "value": "$(params.SUBMODULES)"
                                },
                                {
                                    "name": "PARAMS_DEPTH",
                                    "value": "$(params.DEPTH)"
                                },
                                {
                                    "name": "PARAMS_SPARSE_CHECKOUT_DIRECTORIES",
                                    "value": "$(params.SPARSE_CHECKOUT_DIRECTORIES)"
                                },
                                {
                                    "name": "PARAMS_OUTPUT_PATH",
                                    "value": "$(params.OUTPUT_PATH)"
                                },
                                {
                                    "name": "PARAMS_SSH_DIRECTORY_PATH",
                                    "value": "$(params.SSH_DIRECTORY_PATH)"
                                },
                                {
                                    "name": "PARAMS_BASIC_AUTH_PATH",
                                    "value": "$(params.BASIC_AUTH_PATH)"
                                },
                                {
                                    "name": "PARAMS_SSL_CA_DIRECTORY_PATH",
                                    "value": "$(params.SSL_CA_DIRECTORY_PATH)"
                                },
                                {
                                    "name": "PARAMS_SSL_VERIFY",
                                    "value": "$(params.SSL_VERIFY)"
                                },
                                {
                                    "name": "PARAMS_CRT_FILENAME",
                                    "value": "$(params.CRT_FILENAME)"
                                },
                                {
                                    "name": "PARAMS_SUBDIRECTORY",
                                    "value": "$(params.SUBDIRECTORY)"
                                },
                                {
                                    "name": "PARAMS_DELETE_EXISTING",
                                    "value": "$(params.DELETE_EXISTING)"
                                },
                                {
                                    "name": "PARAMS_HTTP_PROXY",
                                    "value": "$(params.HTTP_PROXY)"
                                },
                                {
                                    "name": "PARAMS_HTTPS_PROXY",
                                    "value": "$(params.HTTPS_PROXY)"
                                },
                                {
                                    "name": "PARAMS_NO_PROXY",
                                    "value": "$(params.NO_PROXY)"
                                },
                                {
                                    "name": "PARAMS_VERBOSE",
                                    "value": "$(params.VERBOSE)"
                                },
                                {
                                    "name": "PARAMS_USER_HOME",
                                    "value": "$(params.USER_HOME)"
                                }
                            ],
                            "image": "registry.redhat.io/openshift-pipelines/pipelines-git-init-rhel9@sha256:a2cab07ac5750b7d74f07020c221607ee6777dee6a2be6d0deaf89a609b3b6e8",
                            "params": [
                                {
                                    "description": "A directory that contains the fetched git repository. Cloned repo data is\nplaced in the root of the directory or in the relative path defined by the\n`SUBDIRECTORY` parameter\n",
                                    "name": "OUTPUT_PATH"
                                },
                                {
                                    "default": "no-path",
                                    "description": "A `.ssh` directory with private key, `known_hosts`, `config`, etc.\nCopied to the Git user's home before cloning the repository, in order to\nserver as authentication mechanismBinding a Secret to this Workspace is\nstrongly recommended over other volume types.\n",
                                    "name": "SSH_DIRECTORY_PATH"
                                },
                                {
                                    "default": "no-path",
                                    "description": "A directory containing `.gitconfig` and `.git-credentials` files.\nThese files are copied to the user home directory before Git commands run.\nAll other files in this Workspace are ignored. It is strongly recommended to\nuse `ssh-directory` over `basic-auth` whenever possible, and to bind a\nSecret to the Workspace providing this directory.\n",
                                    "name": "BASIC_AUTH_PATH"
                                },
                                {
                                    "default": "no-path",
                                    "description": "A directory containing CA certificates. Git uses these certificates to\nverify the peer with when interacting with remote repositories using\nHTTPS.\n",
                                    "name": "SSL_CA_DIRECTORY_PATH"
                                },
                                {
                                    "default": "ca-bundle.crt",
                                    "description": "Certificate Authority (CA) bundle filename in the SSL CA directory.\n",
                                    "name": "CRT_FILENAME",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTP proxy server (non-TLS requests).\n",
                                    "name": "HTTP_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTPS proxy server (TLS requests).\n",
                                    "name": "HTTPS_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Opt out of proxying HTTP/HTTPS requests.\n",
                                    "name": "NO_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Path to the directory for storing the cloned Git repository, relative to the\noutput directory.\n",
                                    "name": "SUBDIRECTORY",
                                    "type": "string"
                                },
                                {
                                    "default": "/home/git",
                                    "description": "Absolute path to the Git user home directory.\n",
                                    "name": "USER_HOME",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Clean out the contents of the default Workspace before specific Git operations occur, if data exists.\n",
                                    "name": "DELETE_EXISTING",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Log the executed commands.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the global `http.sslVerify` value, `false` is not advised unless\nyou trust the remote repository.\n",
                                    "name": "SSL_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "description": "Git repository URL.\n",
                                    "name": "URL",
                                    "type": "string"
                                },
                                {
                                    "default": "main",
                                    "description": "Revision to checkout, an branch, tag, sha, ref, etc...\n",
                                    "name": "REVISION",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Repository `refspec` to fetch before checking out the revision.\n",
                                    "name": "REFSPEC"
                                },
                                {
                                    "default": "true",
                                    "description": "Initialize and fetch Git submodules.\n",
                                    "name": "SUBMODULES",
                                    "type": "string"
                                },
                                {
                                    "default": "1",
                                    "description": "Number of commits to fetch, a \"shallow clone\" is a single commit.\n",
                                    "name": "DEPTH",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "List of directory patterns split by comma to perform \"sparse checkout\".\n",
                                    "name": "SPARSE_CHECKOUT_DIRECTORIES",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "The precise commit SHA digest cloned.\n",
                                    "name": "COMMIT"
                                },
                                {
                                    "description": "The precise repository URL.\n",
                                    "name": "URL"
                                },
                                {
                                    "description": "The epoch timestamp of the commit cloned.\n",
                                    "name": "COMMITTER_DATE"
                                }
                            ],
                            "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAMS_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ \"${PARAMS_BASIC_AUTH_PATH}\" != \"no-path\" ] ; then\n  cp \"${PARAMS_BASIC_AUTH_PATH}/.git-credentials\" \"${PARAMS_USER_HOME}/.git-credentials\"\n  cp \"${PARAMS_BASIC_AUTH_PATH}/.gitconfig\" \"${PARAMS_USER_HOME}/.gitconfig\"\n  chmod 400 \"${PARAMS_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAMS_USER_HOME}/.gitconfig\"\nfi\n\nif [ \"${PARAMS_SSH_DIRECTORY_PATH}\" != \"no-path\" ] ; then\n  cp -R \"${PARAMS_SSH_DIRECTORY_PATH}\" \"${PARAMS_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAMS_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAMS_USER_HOME}\"/.ssh/*\nfi\n\nif [ \"${PARAMS_SSL_CA_DIRECTORY_PATH}\" != \"no-path\" ] ; then\n   export GIT_SSL_CAPATH=\"${PARAMS_SSL_CA_DIRECTORY_PATH}\"\n   if [ \"${PARAMS_CRT_FILENAME}\" != \"\" ] ; then\n      export GIT_SSL_CAINFO=\"${PARAMS_SSL_CA_DIRECTORY_PATH}/${PARAMS_CRT_FILENAME}\"\n   fi\nfi\nCHECKOUT_DIR=\"${PARAMS_OUTPUT_PATH}/${PARAMS_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAMS_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir || true\nfi\n\ntest -z \"${PARAMS_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAMS_HTTP_PROXY}\"\ntest -z \"${PARAMS_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAMS_HTTPS_PROXY}\"\ntest -z \"${PARAMS_NO_PROXY}\" || export NO_PROXY=\"${PARAMS_NO_PROXY}\"\n\ngit config --global --add safe.directory \"${PARAMS_OUTPUT_PATH}\"\n/ko-app/git-init \\\n  -url=\"${PARAMS_URL}\" \\\n  -revision=\"${PARAMS_REVISION}\" \\\n  -refspec=\"${PARAMS_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAMS_SSL_VERIFY}\" \\\n  -submodules=\"${PARAMS_SUBMODULES}\" \\\n  -depth=\"${PARAMS_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAMS_SPARSE_CHECKOUT_DIRECTORIES}\"\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nRESULT_COMMITTER_DATE=\"$(git log -1 --pretty=%ct)\"\nprintf \"%s\" \"${RESULT_COMMITTER_DATE}\" \u003e \"$(step.results.COMMITTER_DATE.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(step.results.COMMIT.path)\"\nprintf \"%s\" \"${PARAMS_URL}\" \u003e \"$(step.results.URL.path)\"\n",
                            "securityContext": {
                                "runAsNonRoot": true,
                                "runAsUser": 65532
                            }
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "name": "tekton-ecosystem-stepaction-list-binding",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-ecosystem-stepaction-list-role"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "932255a18d4b2e23c4733c9c399a5196f317416e15cff677e6f86ec95ab23cf0",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:08Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "addon-versioned-resolvertasks-1.20-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonAddon",
                    "operator.tekton.dev/release-minor-version": "1.20",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "custom-versionedresolvertask"
                },
                "name": "addon-versioned-resolvertasks-1.20-wst8f",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonAddon",
                        "name": "addon",
                        "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                    }
                ],
                "resourceVersion": "22588",
                "uid": "db4c9b57-21d2-4165-9dfc-35664d0065ef"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons"
                            },
                            "name": "tekton-ecosystem-task-list-role",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks"
                                ],
                                "verbs": [
                                    "get",
                                    "list"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "buildah-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "\nBuildah task builds source into a container image and\nthen pushes it to a container registry.\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by buildah.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "./Dockerfile",
                                    "description": "Path to the `Dockerfile` (or `Containerfile`) relative to the `source` workspace.\n",
                                    "name": "DOCKERFILE",
                                    "type": "string"
                                },
                                {
                                    "default": [
                                        ""
                                    ],
                                    "description": "Dockerfile build arguments, array of key=value\n",
                                    "name": "BUILD_ARGS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_DOCKERFILE",
                                        "value": "$(params.DOCKERFILE)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_RHEL_ENTITLEMENT_BOUND",
                                        "value": "$(workspaces.rhel-entitlement.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_RHEL_ENTITLEMENT_PATH",
                                        "value": "$(workspaces.rhel-entitlement.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.BUILD_ARGS[*])"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "build",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;echo \"Running Script /scripts/buildah-bud.sh\";\n  /scripts/buildah-bud.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Container build context, like for instnace a application source code\nfollowed by a `Dockerfile`.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json or .dockerconfigjson.",
                                    "name": "dockerconfig",
                                    "optional": true
                                },
                                {
                                    "description": "An optional workspace that allows providing the entitlement keys for Buildah to access subscription. The mounted workspace contains entitlement.pem and entitlement-key.pem.",
                                    "mountPath": "/tmp/entitlement",
                                    "name": "rhel-entitlement",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "io.kubernetes.cri-o.userns-mode": "auto",
                                "io.openshift.builder": "true",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "buildah-ns-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "\nBuildah task builds source into a container image and\nthen pushes it to a container registry. This task runs with\nuser namespace isolation for enhanced security, providing\nbetter isolation and reduced privileges during the build process.\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by buildah.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "./Dockerfile",
                                    "description": "Path to the `Dockerfile` (or `Containerfile`) relative to the `source` workspace.\n",
                                    "name": "DOCKERFILE",
                                    "type": "string"
                                },
                                {
                                    "default": [
                                        ""
                                    ],
                                    "description": "Dockerfile build arguments, array of key=value\n",
                                    "name": "BUILD_ARGS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_DOCKERFILE",
                                        "value": "$(params.DOCKERFILE)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_RHEL_ENTITLEMENT_BOUND",
                                        "value": "$(workspaces.rhel-entitlement.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_RHEL_ENTITLEMENT_PATH",
                                        "value": "$(workspaces.rhel-entitlement.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.BUILD_ARGS[*])"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "build",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;echo \"Running Script /scripts/buildah-bud.sh\";\n  /scripts/buildah-bud.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Container build context, like for instnace a application source code\nfollowed by a `Dockerfile`.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json or .dockerconfigjson.",
                                    "name": "dockerconfig",
                                    "optional": true
                                },
                                {
                                    "description": "An optional workspace that allows providing the entitlement keys for Buildah to access subscription. The mounted workspace contains entitlement.pem and entitlement-key.pem.",
                                    "mountPath": "/tmp/entitlement",
                                    "name": "rhel-entitlement",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "Git",
                                "tekton.dev/displayName": "git",
                                "tekton.dev/pipelines.minVersion": "0.54.0",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-git",
                                "tekton.dev/tags": "git"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.4.1",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "git-cli-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This task can be used to perform git operations.\nGit command that needs to be run can be passed as a script to the task. This task needs authentication to git in order to push after the git operation.",
                            "params": [
                                {
                                    "default": "ca-bundle.crt",
                                    "description": "Certificate Authority (CA) bundle filename in the SSL CA directory.\n",
                                    "name": "CRT_FILENAME",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTP proxy server (non-TLS requests).\n",
                                    "name": "HTTP_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTPS proxy server (TLS requests).\n",
                                    "name": "HTTPS_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Opt out of proxying HTTP/HTTPS requests.\n",
                                    "name": "NO_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Path to the directory for storing the cloned Git repository, relative to the\noutput directory.\n",
                                    "name": "SUBDIRECTORY",
                                    "type": "string"
                                },
                                {
                                    "default": "/home/git",
                                    "description": "Absolute path to the Git user home directory.\n",
                                    "name": "USER_HOME",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Clean out the contents of the default Workspace before specific Git operations occur, if data exists.\n",
                                    "name": "DELETE_EXISTING",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Log the executed commands.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the global `http.sslVerify` value, `false` is not advised unless\nyou trust the remote repository.\n",
                                    "name": "SSL_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Git user name for performing git operation.\n",
                                    "name": "GIT_USER_NAME",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Git user email for performing git operation.\n",
                                    "name": "GIT_USER_EMAIL",
                                    "type": "string"
                                },
                                {
                                    "default": "git help\n",
                                    "description": "The git script to run.",
                                    "name": "GIT_SCRIPT",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "The precise commit SHA digest cloned.\n",
                                    "name": "COMMIT"
                                }
                            ],
                            "stepTemplate": {
                                "computeResources": {
                                    "limits": {
                                        "cpu": "100m",
                                        "memory": "256Mi"
                                    },
                                    "requests": {
                                        "cpu": "100m",
                                        "memory": "256Mi"
                                    }
                                },
                                "env": [
                                    {
                                        "name": "PARAMS_GIT_USER_EMAIL",
                                        "value": "$(params.GIT_USER_EMAIL)"
                                    },
                                    {
                                        "name": "PARAMS_GIT_USER_NAME",
                                        "value": "$(params.GIT_USER_NAME)"
                                    },
                                    {
                                        "name": "PARAMS_GIT_SCRIPT",
                                        "value": "$(params.GIT_SCRIPT)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "PARAMS_SSL_VERIFY",
                                        "value": "$(params.SSL_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_CRT_FILENAME",
                                        "value": "$(params.CRT_FILENAME)"
                                    },
                                    {
                                        "name": "PARAMS_SUBDIRECTORY",
                                        "value": "$(params.SUBDIRECTORY)"
                                    },
                                    {
                                        "name": "PARAMS_DELETE_EXISTING",
                                        "value": "$(params.DELETE_EXISTING)"
                                    },
                                    {
                                        "name": "PARAMS_HTTP_PROXY",
                                        "value": "$(params.HTTP_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_HTTPS_PROXY",
                                        "value": "$(params.HTTPS_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_NO_PROXY",
                                        "value": "$(params.NO_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "PARAMS_USER_HOME",
                                        "value": "$(params.USER_HOME)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSH_DIRECTORY_BOUND",
                                        "value": "$(workspaces.ssh-directory.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSH_DIRECTORY_PATH",
                                        "value": "$(workspaces.ssh-directory.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_BASIC_AUTH_BOUND",
                                        "value": "$(workspaces.basic-auth.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_BASIC_AUTH_PATH",
                                        "value": "$(workspaces.basic-auth.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSL_CA_DIRECTORY_BOUND",
                                        "value": "$(workspaces.ssl-ca-directory.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSL_CA_DIRECTORY_PATH",
                                        "value": "$(workspaces.ssl-ca-directory.path)"
                                    },
                                    {
                                        "name": "RESULTS_COMMIT_PATH",
                                        "value": "$(results.COMMIT.path)"
                                    }
                                ],
                                "securityContext": {
                                    "runAsNonRoot": true,
                                    "runAsUser": 65532
                                }
                            },
                            "steps": [
                                {
                                    "image": "registry.redhat.io/openshift-pipelines/pipelines-git-init-rhel9@sha256:a2cab07ac5750b7d74f07020c221607ee6777dee6a2be6d0deaf89a609b3b6e8",
                                    "name": "prepare-and-run",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKCmV4cG9ydCBQQVJBTVNfVVJMPSIke1BBUkFNU19VUkw6LX0iCmV4cG9ydCBQQVJBTVNfUkVWSVNJT049IiR7UEFSQU1TX1JFVklTSU9OOi19IgpleHBvcnQgUEFSQU1TX1JFRlNQRUM9IiR7UEFSQU1TX1JFRlNQRUM6LX0iCmV4cG9ydCBQQVJBTVNfU1VCTU9EVUxFUz0iJHtQQVJBTVNfU1VCTU9EVUxFUzotfSIKZXhwb3J0IFBBUkFNU19ERVBUSD0iJHtQQVJBTVNfREVQVEg6LX0iCmV4cG9ydCBQQVJBTVNfU1NMX1ZFUklGWT0iJHtQQVJBTVNfU1NMX1ZFUklGWTotfSIKZXhwb3J0IFBBUkFNU19DUlRfRklMRU5BTUU9IiR7UEFSQU1TX0NSVF9GSUxFTkFNRTotfSIKZXhwb3J0IFBBUkFNU19TVUJESVJFQ1RPUlk9IiR7UEFSQU1TX1NVQkRJUkVDVE9SWTotfSIKZXhwb3J0IFBBUkFNU19TUEFSU0VfQ0hFQ0tPVVRfRElSRUNUT1JJRVM9IiR7UEFSQU1TX1NQQVJTRV9DSEVDS09VVF9ESVJFQ1RPUklFUzotfSIKZXhwb3J0IFBBUkFNU19ERUxFVEVfRVhJU1RJTkc9IiR7UEFSQU1TX0RFTEVURV9FWElTVElORzotfSIKZXhwb3J0IFBBUkFNU19IVFRQX1BST1hZPSIke1BBUkFNU19IVFRQX1BST1hZOi19IgpleHBvcnQgUEFSQU1TX0hUVFBTX1BST1hZPSIke1BBUkFNU19IVFRQU19QUk9YWTotfSIKZXhwb3J0IFBBUkFNU19OT19QUk9YWT0iJHtQQVJBTVNfTk9fUFJPWFk6LX0iCmV4cG9ydCBQQVJBTVNfVkVSQk9TRT0iJHtQQVJBTVNfVkVSQk9TRTotfSIKZXhwb3J0IFBBUkFNU19VU0VSX0hPTUU9IiR7UEFSQU1TX1VTRVJfSE9NRTotfSIKZXhwb3J0IFBBUkFNU19HSVRfVVNFUl9FTUFJTD0iJHtQQVJBTVNfR0lUX1VTRVJfRU1BSUw6LX0iCmV4cG9ydCBQQVJBTVNfR0lUX1VTRVJfTkFNRT0iJHtQQVJBTVNfR0lUX1VTRVJfTkFNRTotfSIKZXhwb3J0IFBBUkFNU19HSVRfU0NSSVBUPSIke1BBUkFNU19HSVRfU0NSSVBUOi19IgoKZXhwb3J0IFdPUktTUEFDRVNfU09VUkNFX1BBVEg9IiR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfT1VUUFVUX1BBVEg9IiR7V09SS1NQQUNFU19PVVRQVVRfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSD0iJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfQkFTSUNfQVVUSF9CT1VORD0iJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfUEFUSD0iJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfU1NMX0NBX0RJUkVDVE9SWV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfUEFUSD0iJHtXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfUEFUSDotfSIKCmV4cG9ydCBSRVNVTFRTX0NPTU1JVFRFUl9EQVRFX1BBVEg9IiR7UkVTVUxUU19DT01NSVRURVJfREFURV9QQVRIOi19IgpleHBvcnQgUkVTVUxUU19DT01NSVRfUEFUSD0iJHtSRVNVTFRTX0NPTU1JVF9QQVRIOi19IgpleHBvcnQgUkVTVUxUU19VUkxfUEFUSD0iJHtSRVNVTFRTX1VSTF9QQVRIOi19IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNoZWNrb3V0IGRpcmVjdG9yeSwgdXNpbmcgdGhlIHNvdXJjZSB3b3Jrc3BhY2UgYW5kIHN1YmRpcmVjdG9yIHBhcmFtZXRlcgpbWyAhIC16ICR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0gXV0gJiYgZXhwb3J0IFdPUktTUEFDRVNfUk9PVF9QQVRIPSIke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9IgpbWyAhIC16ICR7V09SS1NQQUNFU19PVVRQVVRfUEFUSH0gXV0gJiYgZXhwb3J0IFdPUktTUEFDRVNfUk9PVF9QQVRIPSIke1dPUktTUEFDRVNfT1VUUFVUX1BBVEh9IgoKY2hlY2tvdXRfZGlyPSIke1dPUktTUEFDRVNfUk9PVF9QQVRIfS8ke1BBUkFNU19TVUJESVJFQ1RPUll9IgoKIwojIEZ1bmN0aW9ucwojCgpmYWlsKCkgewogICAgZWNobyAiRVJST1I6ICR7QH0iIDE+JjIKICAgIGV4aXQgMQp9CgpwaGFzZSgpIHsKICAgIGVjaG8gIi0tLT4gUGhhc2U6ICR7QH0uLi4iCn0KCiMgSW5zcGVjdCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFzc2VydCB0aGUgbWluaW11bSBjb25maWd1cmF0aW9uIGlzIGluZm9ybWVkLgphc3NlcnRfcmVxdWlyZWRfY29uZmlndXJhdGlvbl9vcl9mYWlsKCkgewogICAgW1sgLXogIiR7UEFSQU1TX1VSTH0iICAmJiAgLXogIiR7UEFSQU1TX0dJVF9TQ1JJUFR9IiBdXSAmJgogICAgICAgIGZhaWwgIlBhcmFtZXRlciBVUkwgb3IgU0NSSVBUIG11c3QgYmUgc2V0ISIKCiAgICBbWyAteiAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iIF1dICYmCiAgICAgICAgZmFpbCAiUm9vdCBXb3Jrc3BhY2UgaXMgbm90IHNldCEiCgogICAgW1sgISAtZCAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iIF1dICYmCiAgICAgICAgZmFpbCAiUm9vdCBXb3Jrc3BhY2UgZGlyZWN0b3J5IG5vdCBmb3VuZCEiCiAgICByZXR1cm4gMAp9CgojIENvcHkgdGhlIGZpbGUgaW50byB0aGUgZGVzdGluYXRpb24sIGNoZWNraW5nIGlmIHRoZSBzb3VyY2UgZXhpc3RzLgpjb3B5X29yX2ZhaWwoKSB7CiAgICBsb2NhbCBfbW9kZT0iJHsxfSIKICAgIGxvY2FsIF9zcmM9IiR7Mn0iCiAgICBsb2NhbCBfZHN0PSIkezN9IgoKICAgIGlmIFtbICEgLWYgIiR7X3NyY30iICYmICEgLWQgIiR7X3NyY30iIF1dOyB0aGVuCiAgICAgICAgZmFpbCAiU291cmNlIGZpbGUvZGlyZWN0b3J5IGlzIG5vdCBmb3VuZCBhdCAnJHtfc3JjfSciCiAgICBmaQoKICAgIGlmIFtbIC1kICIke19zcmN9IiBdXTsgdGhlbgogICAgICAgIGNwIC1SdiAke19zcmN9ICR7X2RzdH0KICAgICAgICBjaG1vZCAtdiAke19tb2RlfSAke19kc3R9CiAgICBlbHNlCiAgICAgICAgaW5zdGFsbCAtLXZlcmJvc2UgLS1tb2RlPSR7X21vZGV9ICR7X3NyY30gJHtfZHN0fQogICAgZmkKfQoKIyBEZWxldGUgYW55IGV4aXN0aW5nIGNvbnRlbnRzIG9mIHRoZSByZXBvIGRpcmVjdG9yeSBpZiBpdCBleGlzdHMuIFdlIGRvbid0IGp1c3QgInJtIC1yZiA8ZGlyPiIKIyBiZWNhdXNlIG1pZ2h0IGJlICIvIiBvciB0aGUgcm9vdCBvZiBhIG1vdW50ZWQgdm9sdW1lLgpjbGVhbl9kaXIoKSB7CiAgICBsb2NhbCBfZGlyPSIkezF9IgoKICAgIFtbICEgLWQgIiR7X2Rpcn0iIF1dICYmCiAgICAgICAgcmV0dXJuIDAKCiAgICAjIERlbGV0ZSBub24taGlkZGVuIGZpbGVzIGFuZCBkaXJlY3RvcmllcwogICAgcm0gLXJmdiAke19kaXI6P30vKgogICAgIyBEZWxldGUgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHN0YXJ0aW5nIHdpdGggLiBidXQgZXhjbHVkaW5nIC4uCiAgICBybSAtcmZ2ICR7X2Rpcn0vLlshLl0qCiAgICAjIERlbGV0ZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgc3RhcnRpbmcgd2l0aCAuLiBwbHVzIGFueSBvdGhlciBjaGFyYWN0ZXIKICAgIHJtIC1yZnYgJHtfZGlyfS8uLj8qCn0KCiMKIyBTZXR0aW5ncwojCgojIHdoZW4gdGhlIGtvLWFwcCBkaXJlY3RvcnkgaXMgcHJlc2VudCwgbWFraW5nIHN1cmUgaXQncyBwYXJ0IG9mIHRoZSBQQVRICltbIC1kICIva28tYXBwIiBdXSAmJiBleHBvcnQgUEFUSD0iJHtQQVRIfTova28tYXBwIgoKIyBtYWtpbmcgdGhlIHNoZWxsIHZlcmJvc2Ugd2hlbiB0aGUgcGFyYW10ZXIgaXMgc2V0CltbICIke1BBUkFNU19WRVJCT1NFfSIgPT0gInRydWUiIF1dICYmIHNldCAteAoKcmV0dXJuIDA=\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKc2V0IC1ldQoKc291cmNlICQoQ0RQQVRIPSBjZCAtLSAiJChkaXJuYW1lIC0tICR7MH0pIiAmJiBwd2QpL2NvbW1vbi5zaAoKYXNzZXJ0X3JlcXVpcmVkX2NvbmZpZ3VyYXRpb25fb3JfZmFpbAoKcGhhc2UgIlNldHRpbmcgb3V0cHV0IHdvcmtzcGFjZSBhcyBzYWZlIGRpcmVjdG9yeSAoJyR7V09SS1NQQUNFU19ST09UX1BBVEh9JykiCmdpdCBjb25maWcgLS1nbG9iYWwgLS1hZGQgc2FmZS5kaXJlY3RvcnkgIiR7V09SS1NQQUNFU19ST09UX1BBVEh9IgoKIyBTZXR0aW5nIHVwIHRoZSBjb25maWcgZm9yIHRoZSBnaXQuCgppZiBbIC1uICIke1BBUkFNU19HSVRfVVNFUl9FTUFJTH0iIF0gOyB0aGVuCiAgICBwaGFzZSAiU2V0dGluZyBnbG9iYWwgZW1haWwgZm9yIGdpdCAke1BBUkFNU19HSVRfVVNFUl9FTUFJTH0iCiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgIiR7UEFSQU1TX0dJVF9VU0VSX0VNQUlMfSIKZmkKCmlmIFsgLW4gIiR7UEFSQU1TX0dJVF9VU0VSX05BTUV9IiBdIDsgdGhlbgogICAgcGhhc2UgIlNldHRpbmcgZ2xvYmFsIHVzZXJuYW1lIGZvciBnaXQgJHtQQVJBTVNfR0lUX1VTRVJfTkFNRX0iCiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAiJHtQQVJBTVNfR0lUX1VTRVJfTkFNRX0iCmZpCgojCiMgQ0EgKGBzc2wtY2EtZGlyZWN0b3J5YCBXb3Jrc3BhY2UpCiMKCmlmIFtbICIke1dPUktTUEFDRVNfU1NMX0NBX0RJUkVDVE9SWV9CT1VORH0iID09ICJ0cnVlIiAmJiAtbiAiJHtQQVJBTVNfQ1JUX0ZJTEVOQU1FfSIgXV07IHRoZW4KCXBoYXNlICJJbnNwZWN0aW5nICdzc2wtY2EtZGlyZWN0b3J5JyB3b3Jrc3BhY2UgbG9va2luZyBmb3IgJyR7UEFSQU1TX0NSVF9GSUxFTkFNRX0nIGZpbGUiCgljcnQ9IiR7V09SS1NQQUNFU19TU0xfQ0FfRElSRUNUT1JZX1BBVEh9LyR7UEFSQU1TX0NSVF9GSUxFTkFNRX0iCglbWyAhIC1mICIke2NydH0iIF1dICYmCgkJZmFpbCAiQ1JUIGZpbGUgKFBBUkFNU19DUlRfRklMRU5BTUUpIG5vdCBmb3VuZCBhdCAnJHtjcnR9JyIKCglwaGFzZSAiRXhwb3J0aW5nIGN1c3RvbSBDQSBjZXJ0aWZpY2F0ZSAnR0lUX1NTTF9DQUlORk89JHtjcnR9JyIKCWV4cG9ydCBHSVRfU1NMX0NBSU5GTz0ke2NydH0KZmkKCiMKIyBQcm94eSBTZXR0aW5ncwojCgpwaGFzZSAiU2V0dGluZyB1cCBIVFRQX1BST1hZPScke1BBUkFNU19IVFRQX1BST1hZfSciCltbIC1uICIke1BBUkFNU19IVFRQX1BST1hZfSIgXV0gJiYgZXhwb3J0IEhUVFBfUFJPWFk9IiR7UEFSQU1TX0hUVFBfUFJPWFl9IgoKcGhhc2UgIlNldHR0aW5nIHVwIEhUVFBTX1BST1hZPScke1BBUkFNU19IVFRQU19QUk9YWX0nIgpbWyAtbiAiJHtQQVJBTVNfSFRUUFNfUFJPWFl9IiBdXSAmJiBleHBvcnQgSFRUUFNfUFJPWFk9IiR7UEFSQU1TX0hUVFBTX1BST1hZfSIKCnBoYXNlICJTZXR0aW5nIHVwIE5PX1BST1hZPScke1BBUkFNU19OT19QUk9YWX0nIgpbWyAtbiAiJHtQQVJBTVNfTk9fUFJPWFl9IiBdXSAmJiBleHBvcnQgTk9fUFJPWFk9IiR7UEFSQU1TX05PX1BST1hZfSIKCgppZiBbWyAhIC16ICIke1BBUkFNU19VUkx9IiBdXTsKdGhlbgogICAgcGhhc2UgIkNsb25pbmcgJyR7UEFSQU1TX1VSTH0nIGludG8gJyR7Y2hlY2tvdXRfZGlyfSciCiAgICBzZXQgLXgKICAgIGV4ZWMgZ2l0LWluaXQgXAogICAgICAgIC11cmw9IiR7UEFSQU1TX1VSTH0iIFwKICAgICAgICAtcmV2aXNpb249IiR7UEFSQU1TX1JFVklTSU9OfSIgXAogICAgICAgIC1yZWZzcGVjPSIke1BBUkFNU19SRUZTUEVDfSIgXAogICAgICAgIC1wYXRoPSIke2NoZWNrb3V0X2Rpcn0iIFwKICAgICAgICAtc3NsVmVyaWZ5PSIke1BBUkFNU19TU0xfVkVSSUZZfSIgXAogICAgICAgIC1zdWJtb2R1bGVzPSIke1BBUkFNU19TVUJNT0RVTEVTfSIgXAogICAgICAgIC1kZXB0aD0iJHtQQVJBTVNfREVQVEh9IiBcCiAgICAgICAgLXNwYXJzZUNoZWNrb3V0RGlyZWN0b3JpZXM9IiR7UEFSQU1TX1NQQVJTRV9DSEVDS09VVF9ESVJFQ1RPUklFU30iCmVsc2UKICAgIHBoYXNlICJSdW5uaW5nIHRoZSBwcm92aWRlZCBzY3JpcHRzICR7UEFSQU1TX0dJVF9TQ1JJUFR9IGluICR7Y2hlY2tvdXRfZGlyfSIKICAgIGV2YWwgIiR7UEFSQU1TX0dJVF9TQ1JJUFR9IgoKICAgIFJFU1VMVF9TSEE9IiQoZ2l0IHJldi1wYXJzZSBIRUFEIHwgdHIgLWQgJ1xuJykiCiAgICBFWElUX0NPREU9IiQ/IgogICAgaWYgWyAiJEVYSVRfQ09ERSIgIT0gMCBdCiAgICB0aGVuCiAgICAgICAgZXhpdCAkRVhJVF9DT0RFCiAgICBmaQogICAgIyBNYWtlIHN1cmUgd2UgZG9uJ3QgYWRkIGEgdHJhaWxpbmcgbmV3bGluZSB0byB0aGUgcmVzdWx0IQogICAgcHJpbnRmICIlcyIgIiRSRVNVTFRfU0hBIiA+ICIke1JFU1VMVFNfQ09NTUlUX1BBVEh9IgogICAgZWNobyAkUkVTVUxUX1NIQQpmaQoK\" |base64 -d \u003e\"/scripts/git-run.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKIwojIFNldHMgdXAgdGhlIGJhc2ljIGFuZCBTU0ggYXV0aGVudGljYXRpb24gYmFzZWQgb24gaW5mb3JtZWQgd29ya3NwYWNlcywgYXMgd2VsbCBhcyBjbGVhbmluZyB1cCB0aGUKIyBwcmV2aW91cyBnaXQtY2xvbmUgc3RhbGUgZGF0YS4KIwoKc2V0IC1ldQoKc291cmNlICQoQ0RQQVRIPSBjZCAtLSAiJChkaXJuYW1lIC0tICR7MH0pIiAmJiBwd2QpL2NvbW1vbi5zaAoKYXNzZXJ0X3JlcXVpcmVkX2NvbmZpZ3VyYXRpb25fb3JfZmFpbAoKcGhhc2UgIlByZXBhcmluZyB0aGUgZmlsZXN5c3RlbSBiZWZvcmUgY2xvbmluZyB0aGUgcmVwb3NpdG9yeSIKCmlmIFtbICIke1BBUkFNU19ERUxFVEVfRVhJU1RJTkd9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCXBoYXNlICJEZWxldGluZyBhbGwgY29udGVudHMgb2YgY2hlY2tvdXQtZGlyICcke2NoZWNrb3V0X2Rpcn0nIgoJY2xlYW5fZGlyICR7Y2hlY2tvdXRfZGlyfSB8fCB0cnVlCmZpCgppZiBbWyAiJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCXBoYXNlICJDb25maWd1cmluZyBHaXQgYXV0aGVudGljYXRpb24gd2l0aCAnYmFzaWMtYXV0aCcgV29ya3NwYWNlIGZpbGVzIgoKCWZvciBmIGluIC5naXQtY3JlZGVudGlhbHMgLmdpdGNvbmZpZzsgZG8KCQlzcmM9IiR7V09SS1NQQUNFU19CQVNJQ19BVVRIX1BBVEh9LyR7Zn0iCgkJcGhhc2UgIkNvcHlpbmcgJyR7c3JjfScgdG8gJyR7UEFSQU1TX1VTRVJfSE9NRX0nIgoJCWNvcHlfb3JfZmFpbCA0MDAgJHtzcmN9ICIke1BBUkFNU19VU0VSX0hPTUV9LyIKCWRvbmUKZmkKCmlmIFtbICIke1dPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9CT1VORH0iID09ICJ0cnVlIiBdXTsgdGhlbgoJcGhhc2UgIkNvcHlpbmcgJy5zc2gnIGZyb20gc3NoLWRpcmVjdG9yeSB3b3Jrc3BhY2UgKCcke1dPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9QQVRIfScpIgoKCWRvdF9zc2g9IiR7UEFSQU1TX1VTRVJfSE9NRX0vLnNzaCIKCWNvcHlfb3JfZmFpbCA3MDAgJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSH0gJHtkb3Rfc3NofQoJY2htb2QgLVJ2IDQwMCAke2RvdF9zc2h9LyoKZmkKCgpleGl0IDA=\" |base64 -d \u003e\"/scripts/prepare.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKIwojIFNjYW4gdGhlIGNsb25lZCByZXBvc2l0b3J5IGluIG9yZGVyIHRvIHJlcG9ydCBkZXRhaWxzIHdyaXR0aW5nIHRoZSByZXN1bHQgZmlsZXMuCiMKCnNldCAtZXUKCnNvdXJjZSAkKENEUEFUSD0gY2QgLS0gIiQoZGlybmFtZSAtLSAkezB9KSIgJiYgcHdkKS9jb21tb24uc2gKCmFzc2VydF9yZXF1aXJlZF9jb25maWd1cmF0aW9uX29yX2ZhaWwKCnBoYXNlICJDb2xsZWN0aW5nIGNsb25lZCByZXBvc2l0b3J5IGluZm9ybWF0aW9uICgnJHtjaGVja291dF9kaXJ9JykiCgpjZCAiJHtjaGVja291dF9kaXJ9IiB8fCBmYWlsICJOb3QgYWJsZSB0byBlbnRlciBjaGVja291dC1kaXIgJyR7Y2hlY2tvdXRfZGlyfSciCgpwaGFzZSAiU2V0dGluZyBvdXRwdXQgd29ya3NwYWNlIGFzIHNhZmUgZGlyZWN0b3J5ICgnJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0nKSIKZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLWFkZCBzYWZlLmRpcmVjdG9yeSAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iCgpyZXN1bHRfc2hhPSIkKGdpdCByZXYtcGFyc2UgSEVBRCkiCnJlc3VsdF9jb21taXR0ZXJfZGF0ZT0iJChnaXQgbG9nIC0xIC0tcHJldHR5PSVjdCkiCgpwaGFzZSAiUmVwb3J0aW5nIGxhc3QgY29tbWl0IGRhdGUgJyR7cmVzdWx0X2NvbW1pdHRlcl9kYXRlfSciCnByaW50ZiAiJXMiICIke3Jlc3VsdF9jb21taXR0ZXJfZGF0ZX0iID4ke1JFU1VMVFNfQ09NTUlUVEVSX0RBVEVfUEFUSH0KCnBoYXNlICJSZXBvcnRpbmcgcGFyc2VkIHJldmlzaW9uIFNIQSAnJHtyZXN1bHRfc2hhfSciCnByaW50ZiAiJXMiICIke3Jlc3VsdF9zaGF9IiA+JHtSRVNVTFRTX0NPTU1JVF9QQVRIfQoKcGhhc2UgIlJlcG9ydGluZyByZXBvc2l0b3J5IFVSTCAnJHtQQVJBTVNfVVJMfSciCnByaW50ZiAiJXMiICIke1BBUkFNU19VUkx9IiA+JHtSRVNVTFRTX1VSTF9QQVRIfQoKZXhpdCAw\" |base64 -d \u003e\"/scripts/report.sh\"\nchmod +x /scripts/*.sh;echo \"Running Script /scripts/prepare.sh\";\n    /scripts/prepare.sh;echo \"Running Script /scripts/git-run.sh\";\n    /scripts/git-run.sh;\n",
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "$(params.USER_HOME)",
                                            "name": "user-home"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "user-home"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "A `.ssh` directory with private key, `known_hosts`, `config`, etc.\nCopied to the Git user's home before cloning the repository, in order to\nserver as authentication mechanismBinding a Secret to this Workspace is\nstrongly recommended over other volume types.\n",
                                    "name": "ssh-directory",
                                    "optional": true
                                },
                                {
                                    "description": "A Workspace containing a `.gitconfig` and `.git-credentials` files.\nThese will be copied to the user's home before Git commands run. All\nother files in this Workspace are ignored. It is strongly recommended to\nuse `ssh-directory` over `basic-auth` whenever possible, and to bind a\nSecret to this Workspace over other volume types.\n",
                                    "name": "basic-auth",
                                    "optional": true
                                },
                                {
                                    "description": "A Workspace containing CA certificates, this will be used by Git to\nverify the peer with when interacting with remote repositories using\nHTTPS.\n",
                                    "name": "ssl-ca-directory",
                                    "optional": true
                                },
                                {
                                    "description": "A workspace that contains the fetched git repository.",
                                    "name": "source"
                                },
                                {
                                    "description": "An optional workspace that contains the files that need to be added to git. You can\naccess the workspace from your script using `$(workspaces.input.path)`, for instance:\n\n  cp $(workspaces.input.path)/file_that_i_want .\n  git add file_that_i_want\n  # etc\n",
                                    "name": "input",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "Git",
                                "tekton.dev/displayName": "git",
                                "tekton.dev/pipelines.minVersion": "0.54.0",
                                "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-git",
                                "tekton.dev/tags": "git"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.4.1",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "git-clone-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This object represents Git and is able to initialize and clone a remote repository on the informed Workspace. It's likely to become the first `step` on a Pipeline. \n",
                            "params": [
                                {
                                    "default": "ca-bundle.crt",
                                    "description": "Certificate Authority (CA) bundle filename in the SSL CA directory.\n",
                                    "name": "CRT_FILENAME",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTP proxy server (non-TLS requests).\n",
                                    "name": "HTTP_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "HTTPS proxy server (TLS requests).\n",
                                    "name": "HTTPS_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Opt out of proxying HTTP/HTTPS requests.\n",
                                    "name": "NO_PROXY",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Path to the directory for storing the cloned Git repository, relative to the\noutput directory.\n",
                                    "name": "SUBDIRECTORY",
                                    "type": "string"
                                },
                                {
                                    "default": "/home/git",
                                    "description": "Absolute path to the Git user home directory.\n",
                                    "name": "USER_HOME",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Clean out the contents of the default Workspace before specific Git operations occur, if data exists.\n",
                                    "name": "DELETE_EXISTING",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Log the executed commands.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the global `http.sslVerify` value, `false` is not advised unless\nyou trust the remote repository.\n",
                                    "name": "SSL_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "description": "Git repository URL.\n",
                                    "name": "URL",
                                    "type": "string"
                                },
                                {
                                    "default": "main",
                                    "description": "Revision to checkout, an branch, tag, sha, ref, etc...\n",
                                    "name": "REVISION",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Repository `refspec` to fetch before checking out the revision.\n",
                                    "name": "REFSPEC"
                                },
                                {
                                    "default": "true",
                                    "description": "Initialize and fetch Git submodules.\n",
                                    "name": "SUBMODULES",
                                    "type": "string"
                                },
                                {
                                    "default": "1",
                                    "description": "Number of commits to fetch, a \"shallow clone\" is a single commit.\n",
                                    "name": "DEPTH",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "List of directory patterns split by comma to perform \"sparse checkout\".\n",
                                    "name": "SPARSE_CHECKOUT_DIRECTORIES",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "The precise commit SHA digest cloned.\n",
                                    "name": "COMMIT"
                                },
                                {
                                    "description": "The precise repository URL.\n",
                                    "name": "URL"
                                },
                                {
                                    "description": "The epoch timestamp of the commit cloned.\n",
                                    "name": "COMMITTER_DATE"
                                }
                            ],
                            "stepTemplate": {
                                "computeResources": {
                                    "limits": {
                                        "cpu": "100m",
                                        "memory": "256Mi"
                                    },
                                    "requests": {
                                        "cpu": "100m",
                                        "memory": "256Mi"
                                    }
                                },
                                "env": [
                                    {
                                        "name": "PARAMS_URL",
                                        "value": "$(params.URL)"
                                    },
                                    {
                                        "name": "PARAMS_REVISION",
                                        "value": "$(params.REVISION)"
                                    },
                                    {
                                        "name": "PARAMS_REFSPEC",
                                        "value": "$(params.REFSPEC)"
                                    },
                                    {
                                        "name": "PARAMS_SUBMODULES",
                                        "value": "$(params.SUBMODULES)"
                                    },
                                    {
                                        "name": "PARAMS_DEPTH",
                                        "value": "$(params.DEPTH)"
                                    },
                                    {
                                        "name": "PARAMS_SPARSE_CHECKOUT_DIRECTORIES",
                                        "value": "$(params.SPARSE_CHECKOUT_DIRECTORIES)"
                                    },
                                    {
                                        "name": "RESULTS_COMMITTER_DATE_PATH",
                                        "value": "$(results.COMMITTER_DATE.path)"
                                    },
                                    {
                                        "name": "RESULTS_URL_PATH",
                                        "value": "$(results.URL.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_OUTPUT_PATH",
                                        "value": "$(workspaces.output.path)"
                                    },
                                    {
                                        "name": "PARAMS_SSL_VERIFY",
                                        "value": "$(params.SSL_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_CRT_FILENAME",
                                        "value": "$(params.CRT_FILENAME)"
                                    },
                                    {
                                        "name": "PARAMS_SUBDIRECTORY",
                                        "value": "$(params.SUBDIRECTORY)"
                                    },
                                    {
                                        "name": "PARAMS_DELETE_EXISTING",
                                        "value": "$(params.DELETE_EXISTING)"
                                    },
                                    {
                                        "name": "PARAMS_HTTP_PROXY",
                                        "value": "$(params.HTTP_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_HTTPS_PROXY",
                                        "value": "$(params.HTTPS_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_NO_PROXY",
                                        "value": "$(params.NO_PROXY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "PARAMS_USER_HOME",
                                        "value": "$(params.USER_HOME)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSH_DIRECTORY_BOUND",
                                        "value": "$(workspaces.ssh-directory.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSH_DIRECTORY_PATH",
                                        "value": "$(workspaces.ssh-directory.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_BASIC_AUTH_BOUND",
                                        "value": "$(workspaces.basic-auth.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_BASIC_AUTH_PATH",
                                        "value": "$(workspaces.basic-auth.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSL_CA_DIRECTORY_BOUND",
                                        "value": "$(workspaces.ssl-ca-directory.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SSL_CA_DIRECTORY_PATH",
                                        "value": "$(workspaces.ssl-ca-directory.path)"
                                    },
                                    {
                                        "name": "RESULTS_COMMIT_PATH",
                                        "value": "$(results.COMMIT.path)"
                                    }
                                ],
                                "securityContext": {
                                    "runAsNonRoot": true,
                                    "runAsUser": 65532
                                }
                            },
                            "steps": [
                                {
                                    "image": "registry.redhat.io/openshift-pipelines/pipelines-git-init-rhel9@sha256:a2cab07ac5750b7d74f07020c221607ee6777dee6a2be6d0deaf89a609b3b6e8",
                                    "name": "prepare-and-run",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKCmV4cG9ydCBQQVJBTVNfVVJMPSIke1BBUkFNU19VUkw6LX0iCmV4cG9ydCBQQVJBTVNfUkVWSVNJT049IiR7UEFSQU1TX1JFVklTSU9OOi19IgpleHBvcnQgUEFSQU1TX1JFRlNQRUM9IiR7UEFSQU1TX1JFRlNQRUM6LX0iCmV4cG9ydCBQQVJBTVNfU1VCTU9EVUxFUz0iJHtQQVJBTVNfU1VCTU9EVUxFUzotfSIKZXhwb3J0IFBBUkFNU19ERVBUSD0iJHtQQVJBTVNfREVQVEg6LX0iCmV4cG9ydCBQQVJBTVNfU1NMX1ZFUklGWT0iJHtQQVJBTVNfU1NMX1ZFUklGWTotfSIKZXhwb3J0IFBBUkFNU19DUlRfRklMRU5BTUU9IiR7UEFSQU1TX0NSVF9GSUxFTkFNRTotfSIKZXhwb3J0IFBBUkFNU19TVUJESVJFQ1RPUlk9IiR7UEFSQU1TX1NVQkRJUkVDVE9SWTotfSIKZXhwb3J0IFBBUkFNU19TUEFSU0VfQ0hFQ0tPVVRfRElSRUNUT1JJRVM9IiR7UEFSQU1TX1NQQVJTRV9DSEVDS09VVF9ESVJFQ1RPUklFUzotfSIKZXhwb3J0IFBBUkFNU19ERUxFVEVfRVhJU1RJTkc9IiR7UEFSQU1TX0RFTEVURV9FWElTVElORzotfSIKZXhwb3J0IFBBUkFNU19IVFRQX1BST1hZPSIke1BBUkFNU19IVFRQX1BST1hZOi19IgpleHBvcnQgUEFSQU1TX0hUVFBTX1BST1hZPSIke1BBUkFNU19IVFRQU19QUk9YWTotfSIKZXhwb3J0IFBBUkFNU19OT19QUk9YWT0iJHtQQVJBTVNfTk9fUFJPWFk6LX0iCmV4cG9ydCBQQVJBTVNfVkVSQk9TRT0iJHtQQVJBTVNfVkVSQk9TRTotfSIKZXhwb3J0IFBBUkFNU19VU0VSX0hPTUU9IiR7UEFSQU1TX1VTRVJfSE9NRTotfSIKZXhwb3J0IFBBUkFNU19HSVRfVVNFUl9FTUFJTD0iJHtQQVJBTVNfR0lUX1VTRVJfRU1BSUw6LX0iCmV4cG9ydCBQQVJBTVNfR0lUX1VTRVJfTkFNRT0iJHtQQVJBTVNfR0lUX1VTRVJfTkFNRTotfSIKZXhwb3J0IFBBUkFNU19HSVRfU0NSSVBUPSIke1BBUkFNU19HSVRfU0NSSVBUOi19IgoKZXhwb3J0IFdPUktTUEFDRVNfU09VUkNFX1BBVEg9IiR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfT1VUUFVUX1BBVEg9IiR7V09SS1NQQUNFU19PVVRQVVRfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSD0iJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfQkFTSUNfQVVUSF9CT1VORD0iJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfUEFUSD0iJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfUEFUSDotfSIKZXhwb3J0IFdPUktTUEFDRVNfU1NMX0NBX0RJUkVDVE9SWV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfQk9VTkQ6LX0iCmV4cG9ydCBXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfUEFUSD0iJHtXT1JLU1BBQ0VTX1NTTF9DQV9ESVJFQ1RPUllfUEFUSDotfSIKCmV4cG9ydCBSRVNVTFRTX0NPTU1JVFRFUl9EQVRFX1BBVEg9IiR7UkVTVUxUU19DT01NSVRURVJfREFURV9QQVRIOi19IgpleHBvcnQgUkVTVUxUU19DT01NSVRfUEFUSD0iJHtSRVNVTFRTX0NPTU1JVF9QQVRIOi19IgpleHBvcnQgUkVTVUxUU19VUkxfUEFUSD0iJHtSRVNVTFRTX1VSTF9QQVRIOi19IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNoZWNrb3V0IGRpcmVjdG9yeSwgdXNpbmcgdGhlIHNvdXJjZSB3b3Jrc3BhY2UgYW5kIHN1YmRpcmVjdG9yIHBhcmFtZXRlcgpbWyAhIC16ICR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0gXV0gJiYgZXhwb3J0IFdPUktTUEFDRVNfUk9PVF9QQVRIPSIke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9IgpbWyAhIC16ICR7V09SS1NQQUNFU19PVVRQVVRfUEFUSH0gXV0gJiYgZXhwb3J0IFdPUktTUEFDRVNfUk9PVF9QQVRIPSIke1dPUktTUEFDRVNfT1VUUFVUX1BBVEh9IgoKY2hlY2tvdXRfZGlyPSIke1dPUktTUEFDRVNfUk9PVF9QQVRIfS8ke1BBUkFNU19TVUJESVJFQ1RPUll9IgoKIwojIEZ1bmN0aW9ucwojCgpmYWlsKCkgewogICAgZWNobyAiRVJST1I6ICR7QH0iIDE+JjIKICAgIGV4aXQgMQp9CgpwaGFzZSgpIHsKICAgIGVjaG8gIi0tLT4gUGhhc2U6ICR7QH0uLi4iCn0KCiMgSW5zcGVjdCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFzc2VydCB0aGUgbWluaW11bSBjb25maWd1cmF0aW9uIGlzIGluZm9ybWVkLgphc3NlcnRfcmVxdWlyZWRfY29uZmlndXJhdGlvbl9vcl9mYWlsKCkgewogICAgW1sgLXogIiR7UEFSQU1TX1VSTH0iICAmJiAgLXogIiR7UEFSQU1TX0dJVF9TQ1JJUFR9IiBdXSAmJgogICAgICAgIGZhaWwgIlBhcmFtZXRlciBVUkwgb3IgU0NSSVBUIG11c3QgYmUgc2V0ISIKCiAgICBbWyAteiAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iIF1dICYmCiAgICAgICAgZmFpbCAiUm9vdCBXb3Jrc3BhY2UgaXMgbm90IHNldCEiCgogICAgW1sgISAtZCAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iIF1dICYmCiAgICAgICAgZmFpbCAiUm9vdCBXb3Jrc3BhY2UgZGlyZWN0b3J5IG5vdCBmb3VuZCEiCiAgICByZXR1cm4gMAp9CgojIENvcHkgdGhlIGZpbGUgaW50byB0aGUgZGVzdGluYXRpb24sIGNoZWNraW5nIGlmIHRoZSBzb3VyY2UgZXhpc3RzLgpjb3B5X29yX2ZhaWwoKSB7CiAgICBsb2NhbCBfbW9kZT0iJHsxfSIKICAgIGxvY2FsIF9zcmM9IiR7Mn0iCiAgICBsb2NhbCBfZHN0PSIkezN9IgoKICAgIGlmIFtbICEgLWYgIiR7X3NyY30iICYmICEgLWQgIiR7X3NyY30iIF1dOyB0aGVuCiAgICAgICAgZmFpbCAiU291cmNlIGZpbGUvZGlyZWN0b3J5IGlzIG5vdCBmb3VuZCBhdCAnJHtfc3JjfSciCiAgICBmaQoKICAgIGlmIFtbIC1kICIke19zcmN9IiBdXTsgdGhlbgogICAgICAgIGNwIC1SdiAke19zcmN9ICR7X2RzdH0KICAgICAgICBjaG1vZCAtdiAke19tb2RlfSAke19kc3R9CiAgICBlbHNlCiAgICAgICAgaW5zdGFsbCAtLXZlcmJvc2UgLS1tb2RlPSR7X21vZGV9ICR7X3NyY30gJHtfZHN0fQogICAgZmkKfQoKIyBEZWxldGUgYW55IGV4aXN0aW5nIGNvbnRlbnRzIG9mIHRoZSByZXBvIGRpcmVjdG9yeSBpZiBpdCBleGlzdHMuIFdlIGRvbid0IGp1c3QgInJtIC1yZiA8ZGlyPiIKIyBiZWNhdXNlIG1pZ2h0IGJlICIvIiBvciB0aGUgcm9vdCBvZiBhIG1vdW50ZWQgdm9sdW1lLgpjbGVhbl9kaXIoKSB7CiAgICBsb2NhbCBfZGlyPSIkezF9IgoKICAgIFtbICEgLWQgIiR7X2Rpcn0iIF1dICYmCiAgICAgICAgcmV0dXJuIDAKCiAgICAjIERlbGV0ZSBub24taGlkZGVuIGZpbGVzIGFuZCBkaXJlY3RvcmllcwogICAgcm0gLXJmdiAke19kaXI6P30vKgogICAgIyBEZWxldGUgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHN0YXJ0aW5nIHdpdGggLiBidXQgZXhjbHVkaW5nIC4uCiAgICBybSAtcmZ2ICR7X2Rpcn0vLlshLl0qCiAgICAjIERlbGV0ZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgc3RhcnRpbmcgd2l0aCAuLiBwbHVzIGFueSBvdGhlciBjaGFyYWN0ZXIKICAgIHJtIC1yZnYgJHtfZGlyfS8uLj8qCn0KCiMKIyBTZXR0aW5ncwojCgojIHdoZW4gdGhlIGtvLWFwcCBkaXJlY3RvcnkgaXMgcHJlc2VudCwgbWFraW5nIHN1cmUgaXQncyBwYXJ0IG9mIHRoZSBQQVRICltbIC1kICIva28tYXBwIiBdXSAmJiBleHBvcnQgUEFUSD0iJHtQQVRIfTova28tYXBwIgoKIyBtYWtpbmcgdGhlIHNoZWxsIHZlcmJvc2Ugd2hlbiB0aGUgcGFyYW10ZXIgaXMgc2V0CltbICIke1BBUkFNU19WRVJCT1NFfSIgPT0gInRydWUiIF1dICYmIHNldCAteAoKcmV0dXJuIDA=\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKc2V0IC1ldQoKc291cmNlICQoQ0RQQVRIPSBjZCAtLSAiJChkaXJuYW1lIC0tICR7MH0pIiAmJiBwd2QpL2NvbW1vbi5zaAoKYXNzZXJ0X3JlcXVpcmVkX2NvbmZpZ3VyYXRpb25fb3JfZmFpbAoKcGhhc2UgIlNldHRpbmcgb3V0cHV0IHdvcmtzcGFjZSBhcyBzYWZlIGRpcmVjdG9yeSAoJyR7V09SS1NQQUNFU19ST09UX1BBVEh9JykiCmdpdCBjb25maWcgLS1nbG9iYWwgLS1hZGQgc2FmZS5kaXJlY3RvcnkgIiR7V09SS1NQQUNFU19ST09UX1BBVEh9IgoKIyBTZXR0aW5nIHVwIHRoZSBjb25maWcgZm9yIHRoZSBnaXQuCgppZiBbIC1uICIke1BBUkFNU19HSVRfVVNFUl9FTUFJTH0iIF0gOyB0aGVuCiAgICBwaGFzZSAiU2V0dGluZyBnbG9iYWwgZW1haWwgZm9yIGdpdCAke1BBUkFNU19HSVRfVVNFUl9FTUFJTH0iCiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgIiR7UEFSQU1TX0dJVF9VU0VSX0VNQUlMfSIKZmkKCmlmIFsgLW4gIiR7UEFSQU1TX0dJVF9VU0VSX05BTUV9IiBdIDsgdGhlbgogICAgcGhhc2UgIlNldHRpbmcgZ2xvYmFsIHVzZXJuYW1lIGZvciBnaXQgJHtQQVJBTVNfR0lUX1VTRVJfTkFNRX0iCiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAiJHtQQVJBTVNfR0lUX1VTRVJfTkFNRX0iCmZpCgojCiMgQ0EgKGBzc2wtY2EtZGlyZWN0b3J5YCBXb3Jrc3BhY2UpCiMKCmlmIFtbICIke1dPUktTUEFDRVNfU1NMX0NBX0RJUkVDVE9SWV9CT1VORH0iID09ICJ0cnVlIiAmJiAtbiAiJHtQQVJBTVNfQ1JUX0ZJTEVOQU1FfSIgXV07IHRoZW4KCXBoYXNlICJJbnNwZWN0aW5nICdzc2wtY2EtZGlyZWN0b3J5JyB3b3Jrc3BhY2UgbG9va2luZyBmb3IgJyR7UEFSQU1TX0NSVF9GSUxFTkFNRX0nIGZpbGUiCgljcnQ9IiR7V09SS1NQQUNFU19TU0xfQ0FfRElSRUNUT1JZX1BBVEh9LyR7UEFSQU1TX0NSVF9GSUxFTkFNRX0iCglbWyAhIC1mICIke2NydH0iIF1dICYmCgkJZmFpbCAiQ1JUIGZpbGUgKFBBUkFNU19DUlRfRklMRU5BTUUpIG5vdCBmb3VuZCBhdCAnJHtjcnR9JyIKCglwaGFzZSAiRXhwb3J0aW5nIGN1c3RvbSBDQSBjZXJ0aWZpY2F0ZSAnR0lUX1NTTF9DQUlORk89JHtjcnR9JyIKCWV4cG9ydCBHSVRfU1NMX0NBSU5GTz0ke2NydH0KZmkKCiMKIyBQcm94eSBTZXR0aW5ncwojCgpwaGFzZSAiU2V0dGluZyB1cCBIVFRQX1BST1hZPScke1BBUkFNU19IVFRQX1BST1hZfSciCltbIC1uICIke1BBUkFNU19IVFRQX1BST1hZfSIgXV0gJiYgZXhwb3J0IEhUVFBfUFJPWFk9IiR7UEFSQU1TX0hUVFBfUFJPWFl9IgoKcGhhc2UgIlNldHR0aW5nIHVwIEhUVFBTX1BST1hZPScke1BBUkFNU19IVFRQU19QUk9YWX0nIgpbWyAtbiAiJHtQQVJBTVNfSFRUUFNfUFJPWFl9IiBdXSAmJiBleHBvcnQgSFRUUFNfUFJPWFk9IiR7UEFSQU1TX0hUVFBTX1BST1hZfSIKCnBoYXNlICJTZXR0aW5nIHVwIE5PX1BST1hZPScke1BBUkFNU19OT19QUk9YWX0nIgpbWyAtbiAiJHtQQVJBTVNfTk9fUFJPWFl9IiBdXSAmJiBleHBvcnQgTk9fUFJPWFk9IiR7UEFSQU1TX05PX1BST1hZfSIKCgppZiBbWyAhIC16ICIke1BBUkFNU19VUkx9IiBdXTsKdGhlbgogICAgcGhhc2UgIkNsb25pbmcgJyR7UEFSQU1TX1VSTH0nIGludG8gJyR7Y2hlY2tvdXRfZGlyfSciCiAgICBzZXQgLXgKICAgIGV4ZWMgZ2l0LWluaXQgXAogICAgICAgIC11cmw9IiR7UEFSQU1TX1VSTH0iIFwKICAgICAgICAtcmV2aXNpb249IiR7UEFSQU1TX1JFVklTSU9OfSIgXAogICAgICAgIC1yZWZzcGVjPSIke1BBUkFNU19SRUZTUEVDfSIgXAogICAgICAgIC1wYXRoPSIke2NoZWNrb3V0X2Rpcn0iIFwKICAgICAgICAtc3NsVmVyaWZ5PSIke1BBUkFNU19TU0xfVkVSSUZZfSIgXAogICAgICAgIC1zdWJtb2R1bGVzPSIke1BBUkFNU19TVUJNT0RVTEVTfSIgXAogICAgICAgIC1kZXB0aD0iJHtQQVJBTVNfREVQVEh9IiBcCiAgICAgICAgLXNwYXJzZUNoZWNrb3V0RGlyZWN0b3JpZXM9IiR7UEFSQU1TX1NQQVJTRV9DSEVDS09VVF9ESVJFQ1RPUklFU30iCmVsc2UKICAgIHBoYXNlICJSdW5uaW5nIHRoZSBwcm92aWRlZCBzY3JpcHRzICR7UEFSQU1TX0dJVF9TQ1JJUFR9IGluICR7Y2hlY2tvdXRfZGlyfSIKICAgIGV2YWwgIiR7UEFSQU1TX0dJVF9TQ1JJUFR9IgoKICAgIFJFU1VMVF9TSEE9IiQoZ2l0IHJldi1wYXJzZSBIRUFEIHwgdHIgLWQgJ1xuJykiCiAgICBFWElUX0NPREU9IiQ/IgogICAgaWYgWyAiJEVYSVRfQ09ERSIgIT0gMCBdCiAgICB0aGVuCiAgICAgICAgZXhpdCAkRVhJVF9DT0RFCiAgICBmaQogICAgIyBNYWtlIHN1cmUgd2UgZG9uJ3QgYWRkIGEgdHJhaWxpbmcgbmV3bGluZSB0byB0aGUgcmVzdWx0IQogICAgcHJpbnRmICIlcyIgIiRSRVNVTFRfU0hBIiA+ICIke1JFU1VMVFNfQ09NTUlUX1BBVEh9IgogICAgZWNobyAkUkVTVUxUX1NIQQpmaQoK\" |base64 -d \u003e\"/scripts/git-run.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKIwojIFNldHMgdXAgdGhlIGJhc2ljIGFuZCBTU0ggYXV0aGVudGljYXRpb24gYmFzZWQgb24gaW5mb3JtZWQgd29ya3NwYWNlcywgYXMgd2VsbCBhcyBjbGVhbmluZyB1cCB0aGUKIyBwcmV2aW91cyBnaXQtY2xvbmUgc3RhbGUgZGF0YS4KIwoKc2V0IC1ldQoKc291cmNlICQoQ0RQQVRIPSBjZCAtLSAiJChkaXJuYW1lIC0tICR7MH0pIiAmJiBwd2QpL2NvbW1vbi5zaAoKYXNzZXJ0X3JlcXVpcmVkX2NvbmZpZ3VyYXRpb25fb3JfZmFpbAoKcGhhc2UgIlByZXBhcmluZyB0aGUgZmlsZXN5c3RlbSBiZWZvcmUgY2xvbmluZyB0aGUgcmVwb3NpdG9yeSIKCmlmIFtbICIke1BBUkFNU19ERUxFVEVfRVhJU1RJTkd9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCXBoYXNlICJEZWxldGluZyBhbGwgY29udGVudHMgb2YgY2hlY2tvdXQtZGlyICcke2NoZWNrb3V0X2Rpcn0nIgoJY2xlYW5fZGlyICR7Y2hlY2tvdXRfZGlyfSB8fCB0cnVlCmZpCgppZiBbWyAiJHtXT1JLU1BBQ0VTX0JBU0lDX0FVVEhfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCXBoYXNlICJDb25maWd1cmluZyBHaXQgYXV0aGVudGljYXRpb24gd2l0aCAnYmFzaWMtYXV0aCcgV29ya3NwYWNlIGZpbGVzIgoKCWZvciBmIGluIC5naXQtY3JlZGVudGlhbHMgLmdpdGNvbmZpZzsgZG8KCQlzcmM9IiR7V09SS1NQQUNFU19CQVNJQ19BVVRIX1BBVEh9LyR7Zn0iCgkJcGhhc2UgIkNvcHlpbmcgJyR7c3JjfScgdG8gJyR7UEFSQU1TX1VTRVJfSE9NRX0nIgoJCWNvcHlfb3JfZmFpbCA0MDAgJHtzcmN9ICIke1BBUkFNU19VU0VSX0hPTUV9LyIKCWRvbmUKZmkKCmlmIFtbICIke1dPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9CT1VORH0iID09ICJ0cnVlIiBdXTsgdGhlbgoJcGhhc2UgIkNvcHlpbmcgJy5zc2gnIGZyb20gc3NoLWRpcmVjdG9yeSB3b3Jrc3BhY2UgKCcke1dPUktTUEFDRVNfU1NIX0RJUkVDVE9SWV9QQVRIfScpIgoKCWRvdF9zc2g9IiR7UEFSQU1TX1VTRVJfSE9NRX0vLnNzaCIKCWNvcHlfb3JfZmFpbCA3MDAgJHtXT1JLU1BBQ0VTX1NTSF9ESVJFQ1RPUllfUEFUSH0gJHtkb3Rfc3NofQoJY2htb2QgLVJ2IDQwMCAke2RvdF9zc2h9LyoKZmkKCgpleGl0IDA=\" |base64 -d \u003e\"/scripts/prepare.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgc2gKIwojIFNjYW4gdGhlIGNsb25lZCByZXBvc2l0b3J5IGluIG9yZGVyIHRvIHJlcG9ydCBkZXRhaWxzIHdyaXR0aW5nIHRoZSByZXN1bHQgZmlsZXMuCiMKCnNldCAtZXUKCnNvdXJjZSAkKENEUEFUSD0gY2QgLS0gIiQoZGlybmFtZSAtLSAkezB9KSIgJiYgcHdkKS9jb21tb24uc2gKCmFzc2VydF9yZXF1aXJlZF9jb25maWd1cmF0aW9uX29yX2ZhaWwKCnBoYXNlICJDb2xsZWN0aW5nIGNsb25lZCByZXBvc2l0b3J5IGluZm9ybWF0aW9uICgnJHtjaGVja291dF9kaXJ9JykiCgpjZCAiJHtjaGVja291dF9kaXJ9IiB8fCBmYWlsICJOb3QgYWJsZSB0byBlbnRlciBjaGVja291dC1kaXIgJyR7Y2hlY2tvdXRfZGlyfSciCgpwaGFzZSAiU2V0dGluZyBvdXRwdXQgd29ya3NwYWNlIGFzIHNhZmUgZGlyZWN0b3J5ICgnJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0nKSIKZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLWFkZCBzYWZlLmRpcmVjdG9yeSAiJHtXT1JLU1BBQ0VTX1JPT1RfUEFUSH0iCgpyZXN1bHRfc2hhPSIkKGdpdCByZXYtcGFyc2UgSEVBRCkiCnJlc3VsdF9jb21taXR0ZXJfZGF0ZT0iJChnaXQgbG9nIC0xIC0tcHJldHR5PSVjdCkiCgpwaGFzZSAiUmVwb3J0aW5nIGxhc3QgY29tbWl0IGRhdGUgJyR7cmVzdWx0X2NvbW1pdHRlcl9kYXRlfSciCnByaW50ZiAiJXMiICIke3Jlc3VsdF9jb21taXR0ZXJfZGF0ZX0iID4ke1JFU1VMVFNfQ09NTUlUVEVSX0RBVEVfUEFUSH0KCnBoYXNlICJSZXBvcnRpbmcgcGFyc2VkIHJldmlzaW9uIFNIQSAnJHtyZXN1bHRfc2hhfSciCnByaW50ZiAiJXMiICIke3Jlc3VsdF9zaGF9IiA+JHtSRVNVTFRTX0NPTU1JVF9QQVRIfQoKcGhhc2UgIlJlcG9ydGluZyByZXBvc2l0b3J5IFVSTCAnJHtQQVJBTVNfVVJMfSciCnByaW50ZiAiJXMiICIke1BBUkFNU19VUkx9IiA+JHtSRVNVTFRTX1VSTF9QQVRIfQoKZXhpdCAw\" |base64 -d \u003e\"/scripts/report.sh\"\nchmod +x /scripts/*.sh;echo \"Running Script /scripts/prepare.sh\";\n    /scripts/prepare.sh;echo \"Running Script /scripts/git-run.sh\";\n    /scripts/git-run.sh;echo \"Running Script /scripts/report.sh\";\n    /scripts/report.sh;\n",
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "$(params.USER_HOME)",
                                            "name": "user-home"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.output.path)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "user-home"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "A `.ssh` directory with private key, `known_hosts`, `config`, etc.\nCopied to the Git user's home before cloning the repository, in order to\nserver as authentication mechanismBinding a Secret to this Workspace is\nstrongly recommended over other volume types.\n",
                                    "name": "ssh-directory",
                                    "optional": true
                                },
                                {
                                    "description": "A Workspace containing a `.gitconfig` and `.git-credentials` files.\nThese will be copied to the user's home before Git commands run. All\nother files in this Workspace are ignored. It is strongly recommended to\nuse `ssh-directory` over `basic-auth` whenever possible, and to bind a\nSecret to this Workspace over other volume types.\n",
                                    "name": "basic-auth",
                                    "optional": true
                                },
                                {
                                    "description": "A Workspace containing CA certificates, this will be used by Git to\nverify the peer with when interacting with remote repositories using\nHTTPS.\n",
                                    "name": "ssl-ca-directory",
                                    "optional": true
                                },
                                {
                                    "description": "A workspace that contains the fetched git repository, data will be placed on the root of the\nWorkspace, or on the relative path defined by the SUBDIRECTORY\nparameter.\n",
                                    "name": "output"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/displayName": "CLI",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-openshift",
                                "tekton.dev/tags": "cli"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2.2",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "kn-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This Task performs operations on Knative resources (services, revisions, routes) using kn CLI",
                            "params": [
                                {
                                    "default": [
                                        "help"
                                    ],
                                    "description": "kn CLI arguments to run",
                                    "name": "ARGS",
                                    "type": "array"
                                }
                            ],
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ARGS)"
                                    ],
                                    "command": [
                                        "/ko-app/kn"
                                    ],
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:0fa6d15d38601f266347cdd098e80bec9893f7e6b06e84efc4a8c50b3ff3c6cc",
                                    "name": "kn",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/displayName": "CLI",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-openshift",
                                "tekton.dev/tags": "cli"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2.2",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "kn-apply-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This task deploys a given image to a Knative Service. It uses `kn service apply` to create or update given knative service.",
                            "params": [
                                {
                                    "description": "Knative service name",
                                    "name": "SERVICE"
                                },
                                {
                                    "description": "Image to deploy",
                                    "name": "IMAGE"
                                }
                            ],
                            "steps": [
                                {
                                    "args": [
                                        "service",
                                        "apply",
                                        "$(params.SERVICE)",
                                        "--image",
                                        "$(params.IMAGE)"
                                    ],
                                    "command": [
                                        "/ko-app/kn"
                                    ],
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:0fa6d15d38601f266347cdd098e80bec9893f7e6b06e84efc4a8c50b3ff3c6cc",
                                    "name": "kn",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-maven",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.4.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "maven-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This Task can be used to run a Maven build.",
                            "params": [
                                {
                                    "default": [
                                        "package"
                                    ],
                                    "description": "maven goals to run",
                                    "name": "GOALS",
                                    "type": "array"
                                },
                                {
                                    "default": "",
                                    "description": "The Maven repository mirror url",
                                    "name": "MAVEN_MIRROR_URL",
                                    "type": "string"
                                },
                                {
                                    "default": ".",
                                    "description": "The subdirectory within the repository for sources on which we want to execute maven goals.",
                                    "name": "SUBDIRECTORY",
                                    "type": "string"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_MAVEN_MIRROR_URL",
                                        "value": "$(params.MAVEN_MIRROR_URL)"
                                    },
                                    {
                                        "name": "PARAMS_SUBDIRECTORY",
                                        "value": "$(params.SUBDIRECTORY)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SERVER_SECRET_PATH",
                                        "value": "$(workspaces.server_secret.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_SERVER_SECRET_BOUND",
                                        "value": "$(workspaces.server_secret.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_PROXY_SECRET_PATH",
                                        "value": "$(workspaces.proxy_secret.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_PROXY_SECRET_BOUND",
                                        "value": "$(workspaces.proxy_secret.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_PROXY_CONFIGMAP_PATH",
                                        "value": "$(workspaces.proxy_configmap.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_PROXY_CONFIGMAP_BOUND",
                                        "value": "$(workspaces.proxy_configmap.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_MAVEN_SETTINGS_PATH",
                                        "value": "$(workspaces.maven_settings.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_MAVEN_SETTINGS_BOUND",
                                        "value": "$(workspaces.maven_settings.bound)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/ubi9/ubi-minimal@sha256:2f06ae0e6d3d9c4f610d32c480338eef474867f435d8d28625f2985e8acde6e8",
                                    "name": "maven-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggTUFWRU5fR0VORVJBVEVfRElSRUNUT1JZPSIke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9LyR7UEFSQU1TX1NVQkRJUkVDVE9SWX0vbWF2ZW4tZ2VuZXJhdGUiCgpkZWNsYXJlIC1yeCBNQVZFTl9TRVRUSU5HU19GSUxFPSIke01BVkVOX0dFTkVSQVRFX0RJUkVDVE9SWX0vc2V0dGluZ3MueG1sIgoKaWYgW1sgLWYgJHtNQVZFTl9TRVRUSU5HU19GSUxFfSBdXTsgdGhlbgogICAgZWNobyAidXNpbmcgZXhpc3RpbmcgJyR7TUFWRU5fU0VUVElOR1NfRklMRX0nIgogICAgY2F0ICR7TUFWRU5fU0VUVElOR1NfRklMRX0KICAgIGV4aXQgMApmaQoKbWtkaXIgIiR7TUFWRU5fR0VORVJBVEVfRElSRUNUT1JZfSIKCiMgQ2hlY2sgaWYgc2V0dGluZ3MueG1sIGV4aXN0cyBpbiB0aGUgd29ya3NwYWNlIG1hdmVuLXNldHRpbmdzCmlmIFtbIC1mICIke1dPUktTUEFDRVNfTUFWRU5fU0VUVElOR1NfUEFUSH0vc2V0dGluZ3MueG1sIiBdXTsgdGhlbgogICAgY3AgIiR7V09SS1NQQUNFU19NQVZFTl9TRVRUSU5HU19QQVRIfS9zZXR0aW5ncy54bWwiICIke01BVkVOX1NFVFRJTkdTX0ZJTEV9IgogICAgZWNobyAiVXNpbmcgJyR7TUFWRU5fU0VUVElOR1NfRklMRX0nIGNvcGllZCBmcm9tIG9wdGlvbmFsIHdvcmtzcGFjZSBtYXZlbi1zZXR0aW5ncyIKICAgIGNhdCAke01BVkVOX1NFVFRJTkdTX0ZJTEV9CiAgICBleGl0IDAKZmkKCmNhdCA+ICIke01BVkVOX1NFVFRJTkdTX0ZJTEV9IiA8PEVPRgo8c2V0dGluZ3M+CiAgICA8c2VydmVycz4KICAgIDwhLS0gVGhlIHNlcnZlcnMgYWRkZWQgaGVyZSBhcmUgZ2VuZXJhdGVkIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLiBEb24ndCBjaGFuZ2UuIC0tPgogICAgPCEtLSAjIyMgU0VSVkVSJ3MgVVNFUiBJTkZPIGZyb20gRU5WICMjIyAtLT4KICAgIDwvc2VydmVycz4KICAgIDxtaXJyb3JzPgogICAgPCEtLSBUaGUgbWlycm9ycyBhZGRlZCBoZXJlIGFyZSBnZW5lcmF0ZWQgZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIERvbid0IGNoYW5nZS4gLS0+CiAgICA8IS0tICMjIyBtaXJyb3JzIGZyb20gRU5WICMjIyAtLT4KICAgIDwvbWlycm9ycz4KICAgIDxwcm94aWVzPgogICAgPCEtLSBUaGUgcHJveGllcyBhZGRlZCBoZXJlIGFyZSBnZW5lcmF0ZWQgZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIERvbid0IGNoYW5nZS4gLS0+CiAgICA8IS0tICMjIyBIVFRQIHByb3h5IGZyb20gRU5WICMjIyAtLT4KICAgIDwvcHJveGllcz4KPC9zZXR0aW5ncz4KRU9GCgpjYXQgIiR7TUFWRU5fU0VUVElOR1NfRklMRX0iCgp4bWw9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19QUk9YWV9TRUNSRVRfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIGlmIHRlc3QgLWYgJHtXT1JLU1BBQ0VTX1BST1hZX1NFQ1JFVF9QQVRIfS91c2VybmFtZSAmJiB0ZXN0IC1mICR7V09SS1NQQUNFU19QUk9YWV9TRUNSRVRfUEFUSH0vcGFzc3dvcmQ7IHRoZW4KICAgIFBBUkFNU19QUk9YWV9VU0VSPSQoY2F0ICR7V09SS1NQQUNFU19QUk9YWV9TRUNSRVRfUEFUSH0vdXNlcm5hbWUpCiAgICBQQVJBTVNfUFJPWFlfUEFTU1dPUkQ9JChjYXQgJHtXT1JLU1BBQ0VTX1BST1hZX1NFQ1JFVF9QQVRIfS9wYXNzd29yZCkKCiAgICAjIEZldGNoaW5nIHByb3h5IGNvbmZpZ3VyYXRpb24gdmFsdWVzIGZyb20gQ29uZmlnTWFwIHdvcmtzcGFjZQogICAgUEFSQU1TX1BST1hZX0hPU1Q9JChjYXQgJHtXT1JLU1BBQ0VTX1BST1hZX0NPTkZJR01BUF9QQVRIfS9wcm94eV9ob3N0KQogICAgUEFSQU1TX1BST1hZX1BPUlQ9JChjYXQgJHtXT1JLU1BBQ0VTX1BST1hZX0NPTkZJR01BUF9QQVRIfS9wcm94eV9wb3J0KQogICAgUEFSQU1TX1BST1hZX1BST1RPQ09MPSQoY2F0ICR7V09SS1NQQUNFU19QUk9YWV9DT05GSUdNQVBfUEFUSH0vcHJveHlfcHJvdG9jb2wpCiAgICBQQVJBTVNfUFJPWFlfTk9OX1BST1hZX0hPU1RTPSQoY2F0ICR7V09SS1NQQUNFU19QUk9YWV9DT05GSUdNQVBfUEFUSH0vcHJveHlfbm9uX3Byb3h5X2hvc3RzKQoKICAgIGlmIFsgLW4gIiR7UEFSQU1TX1BST1hZX0hPU1R9IiAtYSAtbiAiJHtQQVJBTVNfUFJPWFlfUE9SVH0iIF07IHRoZW4KICAgICAgICB4bWw9Ijxwcm94eT5cCiAgICAgICAgPGlkPmdlbnByb3h5PC9pZD5cCiAgICAgICAgPGFjdGl2ZT50cnVlPC9hY3RpdmU+XAogICAgICAgIDxwcm90b2NvbD4ke1BBUkFNU19QUk9YWV9QUk9UT0NPTH08L3Byb3RvY29sPlwKICAgICAgICA8aG9zdD4ke1BBUkFNU19QUk9YWV9IT1NUfTwvaG9zdD5cCiAgICAgICAgPHBvcnQ+JHtQQVJBTVNfUFJPWFlfUE9SVH08L3BvcnQ+IgogICAgICAgIGlmIFsgLW4gIiR7UEFSQU1TX1BST1hZX1VTRVJ9IiAtYSAtbiAiJHtQQVJBTVNfUFJPWFlfUEFTU1dPUkR9IiBdOyB0aGVuCiAgICAgICAgICAgIHhtbD0iJHhtbFwKICAgICAgICAgICAgPHVzZXJuYW1lPiR7UEFSQU1TX1BST1hZX1VTRVJ9PC91c2VybmFtZT5cCiAgICAgICAgICAgIDxwYXNzd29yZD4ke1BBUkFNU19QUk9YWV9QQVNTV09SRH08L3Bhc3N3b3JkPiIKICAgICAgICBmaQogICAgICAgIGlmIFsgLW4gIiR7UEFSQU1TX1BST1hZX05PTl9QUk9YWV9IT1NUU30iIF07IHRoZW4KICAgICAgICAgICAgeG1sPSIkeG1sXAogICAgICAgICAgICA8bm9uUHJveHlIb3N0cz4ke1BBUkFNU19QUk9YWV9OT05fUFJPWFlfSE9TVFN9PC9ub25Qcm94eUhvc3RzPiIKICAgICAgICBmaQogICAgICAgIHhtbD0iJHhtbFwKICAgICAgICA8L3Byb3h5PiIKICAgICAgICBzZWQgLWkgInN8PCEtLSAjIyMgSFRUUCBwcm94eSBmcm9tIEVOViAjIyMgLS0+fCR4bWx8IiAke01BVkVOX1NFVFRJTkdTX0ZJTEV9CiAgICBmaQogICAgZWxzZQogICAgICAgIGVjaG8gIm5vICd1c2VybmFtZScgb3IgJ3Bhc3N3b3JkJyBmaWxlIGZvdW5kIGF0IHdvcmtzcGFjZSBwcm94eV9zZWNyZXQiCiAgICAgICAgZXhpdCAxCiAgICBmaQpmaQoKaWYgW1sgIiR7V09SS1NQQUNFU19TRVJWRVJfU0VDUkVUX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBpZiB0ZXN0IC1mICR7V09SS1NQQUNFU19TRVJWRVJfU0VDUkVUX1BBVEh9L3VzZXJuYW1lICYmIHRlc3QgLWYke1dPUktTUEFDRVNfU0VSVkVSX1NFQ1JFVF9QQVRIfS9wYXNzd29yZDsgdGhlbgoJU0VSVkVSX1VTRVI9JChjYXQgJHtXT1JLU1BBQ0VTX1NFUlZFUl9TRUNSRVRfUEFUSH0vdXNlcm5hbWUpCglTRVJWRVJfUEFTU1dPUkQ9JChjYXQgJHtXT1JLU1BBQ0VTX1NFUlZFUl9TRUNSRVRfUEFUSH0vcGFzc3dvcmQpCglpZiBbIC1uICIke1NFUlZFUl9VU0VSfSIgLWEgLW4gIiR7U0VSVkVSX1BBU1NXT1JEfSIgXTsgdGhlbgoJICAgIHhtbD0iPHNlcnZlcj5cCiAgICAgICAgPGlkPnNlcnZlcmlkPC9pZD4iCgkgICAgeG1sPSIkeG1sXAogICAgICAgIDx1c2VybmFtZT4ke1NFUlZFUl9VU0VSfTwvdXNlcm5hbWU+XAogICAgICAgIDxwYXNzd29yZD4ke1NFUlZFUl9QQVNTV09SRH08L3Bhc3N3b3JkPiIKCSAgICB4bWw9IiR4bWxcCiAgICAgICAgPC9zZXJ2ZXI+IgoJICAgIHNlZCAtaSAic3w8IS0tICMjIyBTRVJWRVIncyBVU0VSIElORk8gZnJvbSBFTlYgIyMjIC0tPnwkeG1sfCIgJHtNQVZFTl9TRVRUSU5HU19GSUxFfQoJICAgIGVjaG8gIlNFUlZFUiBDcmVkcyBVcGRhdGVkIgoJZmkKICAgIGVsc2UKCWVjaG8gIm5vICd1c2VyJyBvciAncGFzc3dvcmQnIGZpbGUgZm91bmQgYXQgd29ya3NwYWNlIHNlcnZlcl9zZWNyZXQiCiAgICAgICAgZXhpdCAxCiAgICBmaQpmaQoKaWYgWyAtbiAiJHtQQVJBTVNfTUFWRU5fTUlSUk9SX1VSTH0iIF07IHRoZW4KICAgIHhtbD0iICAgIDxtaXJyb3I+XAogICAgPGlkPm1pcnJvci5kZWZhdWx0PC9pZD5cCiAgICA8dXJsPiR7UEFSQU1TX01BVkVOX01JUlJPUl9VUkx9PC91cmw+XAogICAgPG1pcnJvck9mPmNlbnRyYWw8L21pcnJvck9mPlwKICAgIDwvbWlycm9yPiIKICAgIHNlZCAtaSAic3w8IS0tICMjIyBtaXJyb3JzIGZyb20gRU5WICMjIyAtLT58JHhtbHwiICR7TUFWRU5fU0VUVElOR1NfRklMRX0KZmkK\" |base64 -d \u003e\"/scripts/maven-generate.sh\"\nchmod +x /scripts/maven-*.sh;echo \"Running Script /scripts/maven-generate.sh\";\n  /scripts/maven-generate.sh;\n",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/maven-generate",
                                            "name": "maven-settings-dir"
                                        }
                                    ]
                                },
                                {
                                    "args": [
                                        "-s",
                                        "maven-generate/settings.xml",
                                        "$(params.GOALS[*])"
                                    ],
                                    "command": [
                                        "/usr/bin/mvn"
                                    ],
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/ubi9/openjdk-17@sha256:555c8bcd2596637befd1a6da4aa949c5a2640cf66e09c2dfb932afe37e39095e",
                                    "name": "maven-goals",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/maven-generate",
                                            "name": "maven-settings-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/$(params.SUBDIRECTORY)"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "maven-settings-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "The workspace consisting of maven project.",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "The workspace containing server secrets (username and password)",
                                    "name": "server_secret",
                                    "optional": true
                                },
                                {
                                    "description": "The workspace containing proxy server access credentials (username, password).",
                                    "name": "proxy_secret",
                                    "optional": true
                                },
                                {
                                    "description": "The workspace containing some proxy values (proxy_port,proxy_host,proxy_protocol,proxy_non_proxy_hosts)",
                                    "name": "proxy_configmap",
                                    "optional": true
                                },
                                {
                                    "description": "The workspace consisting of the custom maven settings provided by the user.",
                                    "name": "maven_settings",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/displayName": "CLI",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-openshift",
                                "tekton.dev/tags": "cli"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2.2",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "opc-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "The opc task makes it easy to work with Tekton resources in OpenShift Pipelines.",
                            "params": [
                                {
                                    "default": "opc $@",
                                    "description": "opc CLI script to execute",
                                    "name": "SCRIPT",
                                    "type": "string"
                                },
                                {
                                    "default": [
                                        "--help"
                                    ],
                                    "description": "opc CLI arguments to run",
                                    "name": "ARGS",
                                    "type": "array"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_SCRIPT",
                                        "value": "$(params.SCRIPT)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_BOUND",
                                        "value": "$(workspaces.kubeconfig_dir.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_PATH",
                                        "value": "$(workspaces.kubeconfig_dir.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ARGS)"
                                    ],
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/openshift-pipelines/pipelines-opc-rhel9@sha256:143eead39e74de11ddac3d534dfae9025867391a7635c1222f03d6debb0c4349",
                                    "name": "opc",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9yZXRlZCBvbiB0aGUgZW52aXJvbm1lbnQKZnVuY3Rpb24gZXhwb3J0ZWRfb3JfZmFpbCgpIHsKICAgIGRlY2xhcmUgLWEgX3JlcXVpcmVkX3ZhcnM9IiR7QH0iCgogICAgZm9yIHYgaW4gJHtfcmVxdWlyZWRfdmFyc1tAXX07IGRvCiAgICAgICAgW1sgLXogIiR7IXZ9IiBdXSAmJgogICAgICAgICAgICBmYWlsICInJHt2fScgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldCEiCiAgICBkb25lCgogICAgcmV0dXJuIDAKfQoK\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2hvcHQgLXMgaW5oZXJpdF9lcnJleGl0CnNldCAtZXUgLW8gcGlwZWZhaWwKCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9jb21tb24uc2giCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9vcGMtY29tbW9uLnNoIgoKW1sgIiR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9CT1VORH0iID09ICJ0cnVlIiBdXSAmJiBcCltbIC1mICR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIfS9rdWJlY29uZmlnIF1dICYmIFwKZXhwb3J0IEtVQkVDT05GSUc9JHtXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX1BBVEh9L2t1YmVjb25maWcKCmV2YWwgJHtQQVJBTVNfU0NSSVBUfQo=\" |base64 -d \u003e\"/scripts/opc-client.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX1NDUklQVD0iJHtQQVJBTVNfU0NSSVBUOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIPSIke1dPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfUEFUSDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9CT1VORD0iJHtXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX0JPVU5EOi19IgoKIwojIEFzc2VydGluZyBFbnZpcm9ubWVudAojCgpleHBvcnRlZF9vcl9mYWlsIFwKICAgIFdPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfQk9VTkQgXAogICAgUEFSQU1TX1NDUklQVCBcCiAgIAo=\" |base64 -d \u003e\"/scripts/opc-common.sh\"\nchmod +x /scripts/opc-*.sh;echo \"Running Script /scripts/opc-client.sh\";\n  /scripts/opc-client.sh $@;\n",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ]
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "An optional workspace that allows you to provide a .kube/config file for opc to access the cluster. The file should be placed at the root of the Workspace with name kubeconfig.",
                                    "name": "kubeconfig_dir",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/displayName": "CLI",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-openshift",
                                "tekton.dev/tags": "cli"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2.2",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "openshift-client-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This task runs commands against the cluster provided by user and if not provided then where the Task is being executed.\nOpenShift is a Kubernetes distribution from Red Hat which provides oc, the OpenShift CLI that complements kubectl for simplifying deployment and configuration applications on OpenShift.",
                            "params": [
                                {
                                    "default": "oc help",
                                    "description": "The OpenShift CLI arguments to run",
                                    "name": "SCRIPT",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The OpenShift Version to use",
                                    "name": "VERSION",
                                    "type": "string"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_SCRIPT",
                                        "value": "$(params.SCRIPT)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "WORKSPACES_MANIFEST_DIR_BOUND",
                                        "value": "$(workspaces.manifest_dir.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_MANIFEST_DIR_PATH",
                                        "value": "$(workspaces.manifest_dir.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_BOUND",
                                        "value": "$(workspaces.kubeconfig_dir.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_PATH",
                                        "value": "$(workspaces.kubeconfig_dir.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "image-registry.openshift-image-registry.svc:5000/openshift/cli:latest",
                                    "name": "oc",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9yZXRlZCBvbiB0aGUgZW52aXJvbm1lbnQKZnVuY3Rpb24gZXhwb3J0ZWRfb3JfZmFpbCgpIHsKICAgIGRlY2xhcmUgLWEgX3JlcXVpcmVkX3ZhcnM9IiR7QH0iCgogICAgZm9yIHYgaW4gJHtfcmVxdWlyZWRfdmFyc1tAXX07IGRvCiAgICAgICAgW1sgLXogIiR7IXZ9IiBdXSAmJgogICAgICAgICAgICBmYWlsICInJHt2fScgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldCEiCiAgICBkb25lCgogICAgcmV0dXJuIDAKfQoK\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2hvcHQgLXMgaW5oZXJpdF9lcnJleGl0CnNldCAtZXUgLW8gcGlwZWZhaWwKCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9jb21tb24uc2giCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9vYy1jb21tb24uc2giCgpbWyAiJHtXT1JLU1BBQ0VTX01BTklGRVNUX0RJUl9CT1VORH0iID09ICJ0cnVlIiBdXSAmJiBcCiAgICAgIGNkICR7V09SS1NQQUNFU19NQU5JRkVTVF9ESVJfUEFUSH0KCltbICIke1dPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfQk9VTkR9IiA9PSAidHJ1ZSIgXV0gJiYgXApbWyAtZiAke1dPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfUEFUSH0va3ViZWNvbmZpZyBdXSAmJiBcCmV4cG9ydCBLVUJFQ09ORklHPSR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIfS9rdWJlY29uZmlnCgpldmFsICIke1BBUkFNU19TQ1JJUFR9IgoK\" |base64 -d \u003e\"/scripts/oc-client.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKCmRlY2xhcmUgLXJ4IFBBUkFNU19TQ1JJUFQ9IiR7UEFSQU1TX1NDUklQVDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1ZFUlNJT049IiR7UEFSQU1TX1ZFUlNJT046LX0iCgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX01BTklGRVNUX0RJUl9QQVRIPSIke1dPUktTUEFDRVNfTUFOSUZFU1RfRElSX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfTUFOSUZFU1RfRElSX0JPVU5EPSIke1dPUktTUEFDRVNfTUFOSUZFU1RfRElSX0JPVU5EOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX1BBVEg9IiR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX0JPVU5EPSIke1dPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfQk9VTkQ6LX0iCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19NQU5JRkVTVF9ESVJfQk9VTkQgXAogICAgV09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9CT1VORCBcCiAgICBQQVJBTVNfU0NSSVBUIFwKICAgIFBBUkFNU19WRVJTSU9OCg==\" |base64 -d \u003e\"/scripts/oc-common.sh\"\nchmod +x /scripts/oc-*.sh;echo \"Running Script /scripts/oc-client.sh\";\n  /scripts/oc-client.sh $@;\n",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ]
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "The workspace which contains kubernetes manifests which we want to apply on the cluster.",
                                    "name": "manifest_dir",
                                    "optional": true
                                },
                                {
                                    "description": "The workspace which contains the the kubeconfig file if in case we want to run the oc command on another cluster.",
                                    "name": "kubeconfig_dir",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-dotnet-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's dotnet builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/dotnet\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/dotnet:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-go-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Golang builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/golang\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/golang:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-java-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Java builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/java\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/local/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/java:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-nodejs-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Nodejs builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/nodejs\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/nodejs:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-perl-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Perl builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/perl\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/perl:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-php-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's php builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/php\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/php:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-python-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Python builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/python\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/python:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "s2i-ruby-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Builds the source code using the s2i's Ruby builder-image\n\"image-registry.openshift-image-registry.svc:5000/openshift/ruby\".\n",
                            "params": [
                                {
                                    "description": "Fully qualified container image name to be built by s2i.\n",
                                    "name": "IMAGE",
                                    "type": "string"
                                },
                                {
                                    "default": "latest",
                                    "description": "The tag of the imagestream for the corresponding language version",
                                    "name": "VERSION",
                                    "type": "string"
                                },
                                {
                                    "default": "image:///usr/libexec/s2i",
                                    "description": "Specify a URL containing the default assemble and run scripts for the builder image\n",
                                    "name": "IMAGE_SCRIPTS_URL",
                                    "type": "string"
                                },
                                {
                                    "default": [],
                                    "description": "Array containing string of Environment Variables as \"KEY=VALUE\"\n",
                                    "name": "ENV_VARS",
                                    "type": "array"
                                },
                                {
                                    "default": ".",
                                    "description": "Path to the directory to use as context.\n",
                                    "name": "CONTEXT",
                                    "type": "string"
                                },
                                {
                                    "default": "vfs",
                                    "description": "Set buildah storage driver to reflect the currrent cluster node's\nsettings.\n",
                                    "name": "STORAGE_DRIVER",
                                    "type": "string"
                                },
                                {
                                    "default": "oci",
                                    "description": "The format of the built container, oci or docker",
                                    "name": "FORMAT"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the build command when building images.\n",
                                    "name": "BUILD_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Extra parameters passed for the push command when pushing images.\n",
                                    "name": "PUSH_EXTRA_ARGS",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Skip pushing the image to the container registry.\n",
                                    "name": "SKIP_PUSH"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flag, `true` is recommended.\n",
                                    "name": "TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Turns on verbose logging, all commands executed will be printed out.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Fully qualified image name.\n",
                                    "name": "IMAGE_URL"
                                },
                                {
                                    "description": "Digest of the image just built.\n",
                                    "name": "IMAGE_DIGEST"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_IMAGE",
                                        "value": "$(params.IMAGE)"
                                    },
                                    {
                                        "name": "PARAMS_VERSION",
                                        "value": "$(params.VERSION)"
                                    },
                                    {
                                        "name": "PARAMS_IMAGE_SCRIPTS_URL",
                                        "value": "$(params.IMAGE_SCRIPTS_URL)"
                                    },
                                    {
                                        "name": "PARAMS_CONTEXT",
                                        "value": "$(params.CONTEXT)"
                                    },
                                    {
                                        "name": "PARAMS_FORMAT",
                                        "value": "$(params.FORMAT)"
                                    },
                                    {
                                        "name": "PARAMS_STORAGE_DRIVER",
                                        "value": "$(params.STORAGE_DRIVER)"
                                    },
                                    {
                                        "name": "PARAMS_BUILD_EXTRA_ARGS",
                                        "value": "$(params.BUILD_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_PUSH_EXTRA_ARGS",
                                        "value": "$(params.PUSH_EXTRA_ARGS)"
                                    },
                                    {
                                        "name": "PARAMS_SKIP_PUSH",
                                        "value": "$(params.SKIP_PUSH)"
                                    },
                                    {
                                        "name": "PARAMS_TLS_VERIFY",
                                        "value": "$(params.TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_BOUND",
                                        "value": "$(workspaces.source.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_SOURCE_PATH",
                                        "value": "$(workspaces.source.path)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_BOUND",
                                        "value": "$(workspaces.dockerconfig.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_DOCKERCONFIG_PATH",
                                        "value": "$(workspaces.dockerconfig.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_URL_PATH",
                                        "value": "$(results.IMAGE_URL.path)"
                                    },
                                    {
                                        "name": "RESULTS_IMAGE_DIGEST_PATH",
                                        "value": "$(results.IMAGE_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ENV_VARS[*])"
                                    ],
                                    "env": [
                                        {
                                            "name": "S2I_BUILDER_IMAGE",
                                            "value": "image-registry.openshift-image-registry.svc:5000/openshift/ruby:$(params.VERSION)"
                                        }
                                    ],
                                    "image": "registry.redhat.io/source-to-image/source-to-image-rhel9@sha256:bc10e7d6122ede5cf4f2882c200447683255465a1080e826761e90bfb983506e",
                                    "name": "s2i-generate",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgV3JhcHBlciBhcm91bmQgImJ1aWxkYWggYnVkIiB0byBidWlsZCBhbmQgcHVzaCBhIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiBhIERvY2tlcmZpbGUuCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvYnVpbGRhaC1jb21tb24uc2giCgpmdW5jdGlvbiBfYnVpbGRhaCgpIHsKICAgIGJ1aWxkYWggXAogICAgICAgIC0tc3RvcmFnZS1kcml2ZXI9IiR7UEFSQU1TX1NUT1JBR0VfRFJJVkVSfSIgXAogICAgICAgIC0tdGxzLXZlcmlmeT0iJHtQQVJBTVNfVExTX1ZFUklGWX0iIFwKICAgICAgICAiJEAiCn0KCiMKIyBQcmVwYXJlCiMKCiMgbWFraW5nIHN1cmUgdGhlIHJlcXVpcmVkIHdvcmtzcGFjZSAic291cmNlIiBpcyBib3VuZGVkLCB3aGljaCBtZWFucyBpdHMgdm9sdW1lIGlzIGN1cnJlbnRseSBtb3VudGVkCiMgYW5kIHJlYWR5IHRvIHVzZQpwaGFzZSAiSW5zcGVjdGluZyBzb3VyY2Ugd29ya3NwYWNlICcke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9JyAoUFdEPScke1BXRH0nKSIKW1sgIiR7V09SS1NQQUNFU19TT1VSQ0VfQk9VTkR9IiAhPSAidHJ1ZSIgXV0gJiYKICAgIGZhaWwgIldvcmtzcGFjZSAnc291cmNlJyBpcyBub3QgYm91bmRlZCIKCnBoYXNlICJBc3NlcnRpbmcgdGhlIGRvY2tlcmZpbGUvY29udGFpbmVyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyBleGlzdHMiCltbICEgLWYgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgIkRvY2tlcmZpbGUgbm90IGZvdW5kIGF0OiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJDT05URVhUIHBhcmFtIGlzIG5vdCBmb3VuZCBhdCAnJHtQQVJBTVNfQ09OVEVYVH0nLCBvbiBzb3VyY2Ugd29ya3NwYWNlIgoKcGhhc2UgIkJ1aWxkaW5nIGJ1aWxkIGFyZ3MiCkJVSUxEX0FSR1M9KCkKZm9yIGJ1aWxkYXJnIGluICIkQCI7IGRvCiAgICBCVUlMRF9BUkdTKz0oIi0tYnVpbGQtYXJnPSRidWlsZGFyZyIpCmRvbmUKCiMgSGFuZGxlIG9wdGlvbmFsIGRvY2tlcmNvbmZpZyBzZWNyZXQKaWYgW1sgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfQk9VTkR9IiA9PSAidHJ1ZSIgXV07IHRoZW4KCiAgICAjIGlmIGNvbmZpZy5qc29uIGV4aXN0cyBhdCB3b3Jrc3BhY2Ugcm9vdCwgd2UgdXNlIHRoYXQKICAgIGlmIHRlc3QgLWYgIiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0vY29uZmlnLmpzb24iOyB0aGVuCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiR7V09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSH0iCgogICAgICAgICMgZWxzZSB3ZSBsb29rIGZvciAuZG9ja2VyY29uZmlnanNvbiBhdCB0aGUgcm9vdAogICAgZWxpZiB0ZXN0IC1mICIke1dPUktTUEFDRVNfRE9DS0VSQ09ORklHX1BBVEh9Ly5kb2NrZXJjb25maWdqc29uIjsgdGhlbgogICAgICAgICMgZW5zdXJlIC5kb2NrZXIgZXhpc3QgYmVmb3JlIHRoZSBjb3B5aW5nIHRoZSBjb250ZW50CiAgICAgICAgaWYgWyAhIC1kICIkSE9NRS8uZG9ja2VyIiBdOyB0aGVuCiAgICAgICAgICAgbWtkaXIgLXAgIiRIT01FLy5kb2NrZXIiCiAgICAgICAgZmkKICAgICAgICBjcCAiJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIfS8uZG9ja2VyY29uZmlnanNvbiIgIiRIT01FLy5kb2NrZXIvY29uZmlnLmpzb24iCiAgICAgICAgZXhwb3J0IERPQ0tFUl9DT05GSUc9IiRIT01FLy5kb2NrZXIiCgogICAgICAgICMgbmVlZCB0byBlcnJvciBvdXQgaWYgbmVpdGhlciBmaWxlcyBhcmUgcHJlc2VudAogICAgZWxzZQogICAgICAgIGVjaG8gIm5laXRoZXIgJ2NvbmZpZy5qc29uJyBub3IgJy5kb2NrZXJjb25maWdqc29uJyBmb3VuZCBhdCB3b3Jrc3BhY2Ugcm9vdCIKICAgICAgICBleGl0IDEKICAgIGZpCmZpCgpFTlRJVExFTUVOVF9WT0xVTUU9IiIKaWYgW1sgIiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBFTlRJVExFTUVOVF9WT0xVTUU9Ii0tdm9sdW1lICR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEh9Oi9ldGMvcGtpL2VudGl0bGVtZW50OnJvIgpmaQoKIwojIEJ1aWxkCiMKCnBoYXNlICJCdWlsZGluZyAnJHtQQVJBTVNfSU1BR0V9JyBiYXNlZCBvbiAnJHtET0NLRVJGSUxFX0ZVTEx9JyIKCltbIC1uICIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTfSIgXV0gJiYKICAgIHBoYXNlICJFeHRyYSAnYnVpbGRhaCBidWQnIGFyZ3VtZW50cyBpbmZvcm1lZDogJyR7UEFSQU1TX0JVSUxEX0VYVFJBX0FSR1N9JyIKCiMgUHJvY2VzcyBCVUlMRF9FWFRSQV9BUkdTCmJ1aWxkX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfQlVJTERfRVhUUkFfQVJHUzotfSIgfCB4YXJncyAtbjEpCmlmIFtbIC1uICIkYnVpbGRfZXh0cmFfYXJnc190bXAiIF1dOyB0aGVuCiAgICByZWFkYXJyYXkgLXQgYnVpbGRfZXh0cmFfYXJncyA8PDwgIiRidWlsZF9leHRyYV9hcmdzX3RtcCIKZWxzZQogICAgYnVpbGRfZXh0cmFfYXJncz0oKSAjIEVtcHR5IGFycmF5IGlmIG5vIGV4dHJhIGFyZ3MKZmkKCl9idWlsZGFoIGJ1ZCAiJHtidWlsZF9leHRyYV9hcmdzW0BdfSIgXAogICAgJEVOVElUTEVNRU5UX1ZPTFVNRSBcCiAgICAiJHtCVUlMRF9BUkdTW0BdfSIgXAogICAgLS1maWxlPSIke0RPQ0tFUkZJTEVfRlVMTH0iIFwKICAgIC0tdGFnPSIke1BBUkFNU19JTUFHRX0iIFwKICAgICIke1BBUkFNU19DT05URVhUfSIKCmlmIFtbICIke1BBUkFNU19TS0lQX1BVU0h9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIHBoYXNlICJTa2lwcGluZyBwdXNoaW5nICcke1BBUkFNU19JTUFHRX0nIHRvIHRoZSBjb250YWluZXIgcmVnaXN0cnkhIgogICAgZXhpdCAwCmZpCgojCiMgUHVzaAojCgpwaGFzZSAiUHVzaGluZyAnJHtQQVJBTVNfSU1BR0V9JyB0byB0aGUgY29udGFpbmVyIHJlZ2lzdHJ5IgoKW1sgLW4gIiR7UEFSQU1TX1BVU0hfRVhUUkFfQVJHU30iIF1dICYmCiAgICBwaGFzZSAiRXh0cmEgJ2J1aWxkYWggcHVzaCcgYXJndW1lbnRzIGluZm9ybWVkOiAnJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTfSciCgojIHRlbXBvcmFyeSBmaWxlIHRvIHN0b3JlIHRoZSBpbWFnZSBkaWdlc3QsIGluZm9ybWF0aW9uIG9ubHkgb2J0YWluZWQgYWZ0ZXIgcHVzaGluZyB0aGUgaW1hZ2UgdG8gdGhlCiMgY29udGFpbmVyIHJlZ2lzdHJ5CmRlY2xhcmUgLXIgZGlnZXN0X2ZpbGU9Ii90bXAvYnVpbGRhaC1kaWdlc3QudHh0IgoKIyBQcm9jZXNzIFBVU0hfRVhUUkFfQVJHUwpwdXNoX2V4dHJhX2FyZ3NfdG1wPSQoZWNobyAiJHtQQVJBTVNfUFVTSF9FWFRSQV9BUkdTOi19IiB8IHhhcmdzIC1uMSkKaWYgW1sgLW4gIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIiBdXTsgdGhlbgogICAgcmVhZGFycmF5IC10IHB1c2hfZXh0cmFfYXJncyA8PDwgIiRwdXNoX2V4dHJhX2FyZ3NfdG1wIgplbHNlCiAgICBwdXNoX2V4dHJhX2FyZ3M9KCkgIyBFbXB0eSBhcnJheSBpZiBubyBleHRyYSBhcmdzCmZpCgpfYnVpbGRhaCBwdXNoICIke3B1c2hfZXh0cmFfYXJnc1tAXX0iIFwKICAgIC0tZGlnZXN0ZmlsZT0iJHtkaWdlc3RfZmlsZX0iIFwKICAgICIke1BBUkFNU19JTUFHRX0iIFwKICAgICJkb2NrZXI6Ly8ke1BBUkFNU19JTUFHRX0iCgojCiMgUmVzdWx0cwojCgpwaGFzZSAiSW5zcGVjdGluZyBkaWdlc3QgcmVwb3J0ICgnJHtkaWdlc3RfZmlsZX0nKSIKCltbICEgLXIgIiR7ZGlnZXN0X2ZpbGV9IiBdXSAmJgogICAgZmFpbCAiVW5hYmxlIHRvIGZpbmQgZGlnZXN0LWZpbGUgYXQgJyR7ZGlnZXN0X2ZpbGV9JyIKCmRlY2xhcmUgLXIgZGlnZXN0X3N1bT0iJChjYXQgJHtkaWdlc3RfZmlsZX0pIgoKW1sgLXogIiR7ZGlnZXN0X3N1bX0iIF1dICYmCiAgICBmYWlsICJEaWdlc3QgZmlsZSAnJHtkaWdlc3RfZmlsZX0nIGlzIGVtcHR5ISIKCnBoYXNlICJTdWNjZXNzZnVseSBidWlsdCBjb250YWluZXIgaW1hZ2UgJyR7UEFSQU1TX0lNQUdFfScgKCcke2RpZ2VzdF9zdW19JykiCmVjaG8gLW4gIiR7UEFSQU1TX0lNQUdFfSIgfCB0ZWUgJHtSRVNVTFRTX0lNQUdFX1VSTF9QQVRIfQplY2hvIC1uICIke2RpZ2VzdF9zdW19IiB8IHRlZSAke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEh9Cg==\" |base64 -d \u003e\"/scripts/buildah-bud.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RPQ0tFUkZJTEU9IiR7UEFSQU1TX0RPQ0tFUkZJTEU6LX0iCmRlY2xhcmUgLXggUEFSQU1TX0NPTlRFWFQ9IiR7UEFSQU1TX0NPTlRFWFQ6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TVE9SQUdFX0RSSVZFUj0iJHtQQVJBTVNfU1RPUkFHRV9EUklWRVI6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19CVUlMRF9FWFRSQV9BUkdTPSIke1BBUkFNU19CVUlMRF9FWFRSQV9BUkdTOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfUFVTSF9FWFRSQV9BUkdTPSIke1BBUkFNU19QVVNIX0VYVFJBX0FSR1M6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19TS0lQX1BVU0g9IiR7UEFSQU1TX1NLSVBfUFVTSDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1RMU19WRVJJRlk9IiR7UEFSQU1TX1RMU19WRVJJRlk6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19WRVJCT1NFPSIke1BBUkFNU19WRVJCT1NFOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19TT1VSQ0VfUEFUSD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19ET0NLRVJDT05GSUdfUEFUSD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19QQVRIOi19IgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORD0iJHtXT1JLU1BBQ0VTX0RPQ0tFUkNPTkZJR19CT1VORDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg9IiR7V09SS1NQQUNFU19SSEVMX0VOVElUTEVNRU5UX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFdPUktTUEFDRVNfUkhFTF9FTlRJVExFTUVOVF9CT1VORD0iJHtXT1JLU1BBQ0VTX1JIRUxfRU5USVRMRU1FTlRfQk9VTkQ6LX0iCgpkZWNsYXJlIC1yeCBSRVNVTFRTX0lNQUdFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfSU1BR0VfRElHRVNUX1BBVEg6LX0iCmRlY2xhcmUgLXJ4IFJFU1VMVFNfSU1BR0VfVVJMX1BBVEg9IiR7UkVTVUxUU19JTUFHRV9VUkxfUEFUSDotfSIKCiMKIyBEb2NrZXJmaWxlCiMKCiMgRXhwb3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUsIHdoaWNoIGJ5IGRlZmF1bHQgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBwcmltYXJ5CiMgd29ya3NwYWNlLCB3aXRoIGEgZmFsbGJhY2sgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGNvbnRleHQgZGlyZWN0b3J5LgppZiBbWyAteiAiJHtET0NLRVJGSUxFX0ZVTEw6LX0iIF1dOyB0aGVuCiAgICBpZiBbWyAtciAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIgXV07IHRoZW4KICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGVsc2UKICAgICAgICBkZWNsYXJlIC14IERPQ0tFUkZJTEVfRlVMTD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfS8ke1BBUkFNU19ET0NLRVJGSUxFfSIKICAgIGZpCmZpCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCltbICEgLXIgIiR7RE9DS0VSRklMRV9GVUxMfSIgXV0gJiYKICAgIGZhaWwgInVuYWJsZSB0byBmaW5kIHRoZSBEb2NrZXJmaWxlLCBET0NLRVJGSUxFIG1heSBoYXZlIGFuIGluY29ycmVjdCBsb2NhdGlvbiIKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBcCiAgICBQQVJBTVNfSU1BR0UKCiMKIyBWZXJib3NlIE91dHB1dAojCgppZiBbWyAiJHtQQVJBTVNfVkVSQk9TRX0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgc2V0IC14CmZpCg==\" |base64 -d \u003e\"/scripts/buildah-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nls /scripts/buildah-*.sh;\nchmod +x /scripts/buildah-*.sh;\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyB0aGUgRG9ja2VyZmlsZSBnZW5lcmF0ZWQgYnkgczJpIHRvIGFzc2VtYmxlIGEgbmV3IGNvbnRhaW5lciBpbWFnZSB1c2luZyBidWlsZGFoLgojCgpzaG9wdCAtcyBpbmhlcml0X2VycmV4aXQKc2V0IC1ldSAtbyBwaXBlZmFpbAoKZGVjbGFyZSAtciBjdXJfZGlyPSIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pIgoKc291cmNlICIke2N1cl9kaXJ9L2NvbW1vbi5zaCIKc291cmNlICIke2N1cl9kaXJ9L3MyaS1jb21tb24uc2giCgojIGxvYWRpbmcgYnVpbGRhaCBzZXR0aW5ncyBvdmVyd3JpdHRpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUgY29udGFpbmVyIGZpbGUKZGVjbGFyZSAteCBET0NLRVJGSUxFX0ZVTEw9IiR7UzJJX0RPQ0tFUkZJTEV9Igpzb3VyY2UgIiR7Y3VyX2Rpcn0vYnVpbGRhaC1jb21tb24uc2giCgpwaGFzZSAiQ2hhbmdpbmcgJFBBUkFNU19DT05URVhUIHRvIHBvaW50IHRvIHByZXNlbnQgd29ya2luZyBkaXJlY3RvcnkiCltbICIkUEFSQU1TX0NPTlRFWFQiICE9ICIuIiBdXSAmJiAKICAgIFBBUkFNU19DT05URVhUPSIuIgoKcGhhc2UgIkluc3BlY3RpbmcgY29udGV4dCAnJHtQQVJBTVNfQ09OVEVYVH0nIgpbWyAhIC1kICIke1BBUkFNU19DT05URVhUfSIgXV0gJiYKICAgIGZhaWwgIkFwcGxpY2F0aW9uIHNvdXJjZSBjb2RlIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKCnBoYXNlICJCdWlsZGluZyB0aGUgRG9ja2VyZmlsZSAnJHtET0NLRVJGSUxFX0ZVTEx9JyB3aXRoIGJ1aWxkYWgiCmV4ZWMgJHtjdXJfZGlyfS9idWlsZGFoLWJ1ZC5zaAo=\" |base64 -d \u003e\"/scripts/s2i-build.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0YXJnZXQgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKSB0byBiZSBidWlsZCB3aXRoIHMyaSwgcmVkZWNsYXJpbmcgdGhlIHNhbWUgcGFyYW1ldGVyIG5hbWUgdGhhbgojIGJ1aWxkYWggdGFzayB1c2VzCmRlY2xhcmUgLXggUEFSQU1TX0lNQUdFPSIke1BBUkFNU19JTUFHRTotfSIKIyBTcGVjaWZ5IGEgVVJMIGNvbnRhaW5pbmcgdGhlIGRlZmF1bHQgYXNzZW1ibGUgYW5kIHJ1biBzY3JpcHRzIGZvciB0aGUgYnVpbGRlciBpbWFnZQpkZWNsYXJlIC1yeCBQQVJBTVNfSU1BR0VfU0NSSVBUU19VUkw9IiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMOi19IgoKIyB2b2x1bWUgbW91bnQgb3IgZGlyZWN0b3J5IHJlc3BvbnNpYmxlIGZvciBob2xkaW5nIGZpbGVzIAojIGxpa2UgZW52LCBEb2NrZXJmaWxlIGFuZCBhbnkgb3RoZXJzIG5lZWRlZCB0byBzdXBwb3J0IHMyaQpkZWNsYXJlIC1yeCBTMklfR0VORVJBVEVfRElSRUNUT1JZPSIke1MySV9HRU5FUkFURV9ESVJFQ1RPUlk6LS9zMmktZ2VuZXJhdGV9IgoKIyBmdWxsIHBhdGggdG8gdGhlIGNvbnRhaW5lciBmaWxlIGdlbmVyYXRlZCBieSBzMmkKZGVjbGFyZSAtcnggUzJJX0RPQ0tFUkZJTEU9IiR7UzJJX0RPQ0tFUkZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vRG9ja2VyZmlsZS5nZW59IgoKIyBmdWxsIHBhdGggdG8gdGhlIGVudiBmaWxlIHVzZWQgd2l0aCB0aGUgLS1lbnZpcm9ubWVudC1maWxlIHBhcmFtZXRlciBvZiBzMmkKZGVjbGFyZSAtcnggUzJJX0VOVklST05NRU5UX0ZJTEU9IiR7UzJJX0VOVklST05NRU5UX0ZJTEU6LSR7UzJJX0dFTkVSQVRFX0RJUkVDVE9SWX0vZW52fSIKCiMKIyBBc3NlcnRpbmcgRW52aXJvbm1lbnQKIwoKZXhwb3J0ZWRfb3JfZmFpbCBcCiAgICBXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIIFwKICAgIFBBUkFNU19JTUFHRQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggUzJJX0xPR0xFVkVMPSIwIgoKaWYgW1sgIiR7UEFSQU1TX1ZFUkJPU0V9IiA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIFMySV9MT0dMRVZFTD0iMiIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/s2i-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojCiMgVXNlcyBzMmkgdG8gZ2VuZXJhdGUgdGhlIHJlcGVzY3RpdmUgQ29udGFpbmVyZmlsZSBiYXNlZCBvbiB0aGUgaW5mb21yZWQgYnVpbGRlci4gVGhlIENvbnRhaW5lcmZpbGUKIyBpcyBzdG9yZWQgb24gYSB0ZW1wb3JhcnkgbG9jYXRpb24uCiMKCnNob3B0IC1zIGluaGVyaXRfZXJyZXhpdApzZXQgLWV1IC1vIHBpcGVmYWlsCgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvY29tbW9uLnNoIgpzb3VyY2UgIiQoZGlybmFtZSAke0JBU0hfU09VUkNFWzBdfSkvczJpLWNvbW1vbi5zaCIKCiMgczJpIGJ1aWxkZXIgaW1hZ2UgbmFtZSAoZnVsbHkgcXVhbGlmaWVkKQpkZWNsYXJlIC1yeCBTMklfQlVJTERFUl9JTUFHRT0iJHtTMklfQlVJTERFUl9JTUFHRTotfSIKCiMgdGFrZXMgdGhlIHZhbHVlcyBpbiBhcmd1bWVudCBFTlZfVkFSUyBhbmQgY3JlYXRlcyBhbiBhcnJheSB1c2luZyB0aG9zZSB2YWx1ZXMKZGVjbGFyZSAtcmEgRU5WX1ZBUlM9KCR7QH0pCgojIHJlLXVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnMgdGhhbiBidWlsZGFoLCBzMmkgbmVlZHMgYnVpbGRhaCBhYmlsaXRpZXMgdG8gY3JlYXRlIHRoZSBmaW5hbAojIGNvbnRhaW5lciBpbWFnZSBiYXNlZCBvbiB3aGF0IHMyaSBnZW5lcmF0ZXMKc291cmNlICIkKGRpcm5hbWUgJHtCQVNIX1NPVVJDRVswXX0pL2J1aWxkYWgtY29tbW9uLnNoIgoKIwojIFByZXBhcmUKIwoKIyBtYWtpbmcgc3VyZSB0aGUgcmVxdWlyZWQgd29ya3NwYWNlICJzb3VyY2UiIGlzIGJvdW5kZWQsIHdoaWNoIG1lYW5zIGl0cyB2b2x1bWUgaXMgY3VycmVudGx5IG1vdW50ZWQKIyBhbmQgcmVhZHkgdG8gdXNlCnBoYXNlICJJbnNwZWN0aW5nIHNvdXJjZSB3b3Jrc3BhY2UgJyR7V09SS1NQQUNFU19TT1VSQ0VfUEFUSH0nIChQV0Q9JyR7UFdEfScpIgpbWyAiJHtXT1JLU1BBQ0VTX1NPVVJDRV9CT1VORH0iICE9ICJ0cnVlIiBdXSAmJgogICAgZmFpbCAiV29ya3NwYWNlICdzb3VyY2UnIGlzIG5vdCBib3VuZGVkIgoKcGhhc2UgIkFwcGVuZGluZyAkUEFSQU1TX0NPTlRFWFQgd2l0aCAkV09SS1NQQUNFU19TT1VSQ0VfUEFUSCBpZiBpdCdzIHJlbGF0aXZlIgpbWyAiJFBBUkFNU19DT05URVhUIiAhPSAiLiIgJiYgIiRQQVJBTVNfQ09OVEVYVCIgIT0gLyogXV0gJiYgCiAgICBQQVJBTVNfQ09OVEVYVD0iJHtXT1JLU1BBQ0VTX1NPVVJDRV9QQVRIfS8ke1BBUkFNU19DT05URVhUfSIKCnBoYXNlICJJbnNwZWN0aW5nIGNvbnRleHQgJyR7UEFSQU1TX0NPTlRFWFR9JyIKW1sgISAtZCAiJHtQQVJBTVNfQ09OVEVYVH0iIF1dICYmCiAgICBmYWlsICJBcHBsaWNhdGlvbiBzb3VyY2UgY29kZSBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0ICcke1BBUkFNU19DT05URVhUfSciCgpwaGFzZSAiQWRkaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gJyR7UzJJX0VOVklST05NRU5UX0ZJTEV9JyIKCiMgYWRkIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgc2VudCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGZyb20gRU5WX1ZBUlMgcGFyYW1ldGVyCnRvdWNoICIke1MySV9FTlZJUk9OTUVOVF9GSUxFfSIKaWYgWyAkeyNFTlZfVkFSU1tAXX0gLWd0IDAgXTsgdGhlbgogICAgZm9yIGVudl92YXIgaW4gIiR7RU5WX1ZBUlNbQF19IjsgZG8KICAgICAgICBlY2hvICIke2Vudl92YXJ9IiA+PiAiJHtTMklfRU5WSVJPTk1FTlRfRklMRX0iCiAgICBkb25lCmZpCgojCiMgUzJJIEdlbmVyYXRlCiMKCnBoYXNlICJHZW5lcmF0aW5nIHRoZSBEb2NrZXJmaWxlIGZvciBTMkkgYnVpbGRlciBpbWFnZSAnJHtTMklfQlVJTERFUl9JTUFHRX0nIgpzMmkgLS1sb2dsZXZlbCAiJHtTMklfTE9HTEVWRUx9IiBcCiAgICBidWlsZCAiJHtQQVJBTVNfQ09OVEVYVH0iICIke1MySV9CVUlMREVSX0lNQUdFfSIgXAogICAgICAgIC0taW1hZ2Utc2NyaXB0cy11cmwgIiR7UEFSQU1TX0lNQUdFX1NDUklQVFNfVVJMfSIgXAogICAgICAgIC0tYXMtZG9ja2VyZmlsZSAiJHtTMklfRE9DS0VSRklMRX0iIFwKICAgICAgICAtLWVudmlyb25tZW50LWZpbGUgIiR7UzJJX0VOVklST05NRU5UX0ZJTEV9IgoKcGhhc2UgIkluc3BlY3RpbmcgdGhlIERvY2tlcmZpbGUgZ2VuZXJhdGVkIGF0ICcke1MySV9ET0NLRVJGSUxFfSciCltbICEgLWYgIiR7UzJJX0RPQ0tFUkZJTEV9IiBdXSAmJgogICAgZmFpbCAiR2VuZXJhdGVkIERvY2tlcmZpbGUgaXMgbm90IGZvdW5kISIKCnNldCAreApwaGFzZSAiR2VuZXJhdGVkIERvY2tlcmZpbGUgcGF5bG9hZCIKZWNobyAtZW4gIj4+PiAke1MySV9ET0NLRVJGSUxFfVxuJChjYXQgJHtTMklfRE9DS0VSRklMRX0pXG48PDwgRU9GXG4iCg==\" |base64 -d \u003e\"/scripts/s2i-generate.sh\"\nls /scripts/s2i-*.sh;\nchmod +x /scripts/s2i-*.sh;echo \"Running Script /scripts/s2i-generate.sh\";\n  /scripts/s2i-generate.sh \"$@\";\n",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)"
                                },
                                {
                                    "command": [
                                        "/scripts/s2i-build.sh"
                                    ],
                                    "image": "registry.redhat.io/rhel9/buildah@sha256:18453ab0a62154283aaf4c45efd7543d1c8ecca1aebae46dedc7ddc0f410b232",
                                    "name": "s2i-build",
                                    "securityContext": {
                                        "capabilities": {
                                            "add": [
                                                "SETFCAP"
                                            ]
                                        }
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        },
                                        {
                                            "mountPath": "/s2i-generate",
                                            "name": "s2i-generate-dir"
                                        }
                                    ],
                                    "workingDir": "/s2i-generate"
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                },
                                {
                                    "emptyDir": {},
                                    "name": "s2i-generate-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "Application source code, the build context for S2I workflow.\n",
                                    "name": "source",
                                    "optional": false
                                },
                                {
                                    "description": "An optional workspace that allows providing a .docker/config.json file for Buildah to access the container registry. The file should be placed at the root of the Workspace with name config.json.",
                                    "name": "dockerconfig",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/categories": "containers",
                                "tekton.dev/pipelines.minVersion": "0.41.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-containers",
                                "tekton.dev/tags": "containers"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.8.0",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "skopeo-copy-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "Skopeo is a command line tool for working with remote image registries.\nSkopeo doesn’t require a daemon to be running while performing its operations. In particular,\nthe handy skopeo command called copy will ease the whole image copy operation. \nThe copy command will take care of copying the image from internal.registry to production.registry.\nIf your production registry requires credentials to login in order to push the image, skopeo can handle that as well.\nAfter copying the source and destination images SHA256 digest is stored as results.\n",
                            "params": [
                                {
                                    "default": "",
                                    "description": "Fully qualified source container image name, including tag, to be copied\ninto `DESTINATION_IMAGE_URL` param.\n",
                                    "name": "SOURCE_IMAGE_URL",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Fully qualified destination container image name, including tag.\n",
                                    "name": "DESTINATION_IMAGE_URL",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flags for the source registry, `true` is recommended.\n",
                                    "name": "SRC_TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "true",
                                    "description": "Sets the TLS verification flags for the destination registry, `true` is recommended.\n",
                                    "name": "DEST_TLS_VERIFY",
                                    "type": "string"
                                },
                                {
                                    "default": "false",
                                    "description": "Shows a more verbose (debug) output.\n",
                                    "name": "VERBOSE",
                                    "type": "string"
                                },
                                {
                                    "default": "",
                                    "description": "Additional args for skopeo copy command\n",
                                    "name": "ARGS",
                                    "type": "string"
                                }
                            ],
                            "results": [
                                {
                                    "description": "Source image SHA256 digest.\n",
                                    "name": "SOURCE_DIGEST",
                                    "type": "string"
                                },
                                {
                                    "description": "Destination image SHA256 digest.\n",
                                    "name": "DESTINATION_DIGEST",
                                    "type": "string"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_SOURCE_IMAGE_URL",
                                        "value": "$(params.SOURCE_IMAGE_URL)"
                                    },
                                    {
                                        "name": "PARAMS_DESTINATION_IMAGE_URL",
                                        "value": "$(params.DESTINATION_IMAGE_URL)"
                                    },
                                    {
                                        "name": "PARAMS_SRC_TLS_VERIFY",
                                        "value": "$(params.SRC_TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_DEST_TLS_VERIFY",
                                        "value": "$(params.DEST_TLS_VERIFY)"
                                    },
                                    {
                                        "name": "PARAMS_VERBOSE",
                                        "value": "$(params.VERBOSE)"
                                    },
                                    {
                                        "name": "PARAMS_ARGS",
                                        "value": "$(params.ARGS)"
                                    },
                                    {
                                        "name": "WORKSPACES_IMAGES_URL_BOUND",
                                        "value": "$(workspaces.images_url.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_IMAGES_URL_PATH",
                                        "value": "$(workspaces.images_url.path)"
                                    },
                                    {
                                        "name": "RESULTS_SOURCE_DIGEST_PATH",
                                        "value": "$(results.SOURCE_DIGEST.path)"
                                    },
                                    {
                                        "name": "RESULTS_DESTINATION_DIGEST_PATH",
                                        "value": "$(results.DESTINATION_DIGEST.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/workspace/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/rhel9/skopeo@sha256:a65a413f8a2864389a09dc750690d97afbcdc5c70821e0f85e99e8adba7954e0",
                                    "name": "skopeo-copy",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIG9uIHRoZSBlbnZpcm9ubWVudApmdW5jdGlvbiBleHBvcnRlZF9vcl9mYWlsKCkgewogICAgZGVjbGFyZSAtYSBfcmVxdWlyZWRfdmFycz0iJHtAfSIKCiAgICBmb3IgdiBpbiAke19yZXF1aXJlZF92YXJzW0BdfTsgZG8KICAgICAgICBbWyAteiAiJHshdn0iIF1dICYmCiAgICAgICAgICAgIGZhaWwgIicke3Z9JyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0ISIKICAgIGRvbmUKCiAgICByZXR1cm4gMAp9Cg==\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX1NPVVJDRV9JTUFHRV9VUkw9IiR7UEFSQU1TX1NPVVJDRV9JTUFHRV9VUkw6LX0iCmRlY2xhcmUgLXJ4IFBBUkFNU19ERVNUSU5BVElPTl9JTUFHRV9VUkw9IiR7UEFSQU1TX0RFU1RJTkFUSU9OX0lNQUdFX1VSTDotfSIKZGVjbGFyZSAtcnggUEFSQU1TX1NSQ19UTFNfVkVSSUZZPSIke1BBUkFNU19TUkNfVExTX1ZFUklGWTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0RFU1RfVExTX1ZFUklGWT0iJHtQQVJBTVNfREVTVF9UTFNfVkVSSUZZOi19IgpkZWNsYXJlIC1yeCBQQVJBTVNfVkVSQk9TRT0iJHtQQVJBTVNfVkVSQk9TRTotfSIKZGVjbGFyZSAtcnggUEFSQU1TX0FSR1M9IiR7UEFSQU1TX0FSR1M6LX0iCgpkZWNsYXJlIC1yeCBXT1JLU1BBQ0VTX0lNQUdFU19VUkxfUEFUSD0iJHtXT1JLU1BBQ0VTX0lNQUdFU19VUkxfUEFUSDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19JTUFHRVNfVVJMX0JPVU5EPSIke1dPUktTUEFDRVNfSU1BR0VTX1VSTF9CT1VORDotfSIKCmRlY2xhcmUgLXJ4IFJFU1VMVFNfU09VUkNFX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfU09VUkNFX0RJR0VTVF9QQVRIOi19IgpkZWNsYXJlIC1yeCBSRVNVTFRTX0RFU1RJTkFUSU9OX0RJR0VTVF9QQVRIPSIke1JFU1VMVFNfREVTVElOQVRJT05fRElHRVNUX1BBVEg6LX0iCgojCiMgQXNzZXJ0aW5nIEVudmlyb25tZW50CiMKCmV4cG9ydGVkX29yX2ZhaWwgXAogICAgUkVTVUxUU19TT1VSQ0VfRElHRVNUX1BBVEggXAogICAgUkVTVUxUU19ERVNUSU5BVElPTl9ESUdFU1RfUEFUSAoKCiMKIyBTa29wZW8gQXV0aGVudGljYXRpb24KIwoKZGVjbGFyZSAteCBSRUdJU1RSWV9BVVRIX0ZJTEU9IiIKCmRvY2tlcl9jb25maWc9Ii93b3Jrc3BhY2UvaG9tZS8uZG9ja2VyL2NvbmZpZy5qc29uIgppZiBbWyAtZiAiJHtkb2NrZXJfY29uZmlnfSIgXV07IHRoZW4KICAgIHBoYXNlICJTZXR0aW5nIFJFR0lTVFJZX0FVVEhfRklMRSB0byAnJHtkb2NrZXJfY29uZmlnfSciCiAgICBSRUdJU1RSWV9BVVRIX0ZJTEU9JHtkb2NrZXJfY29uZmlnfQpmaQoKIwojIFZlcmJvc2UgT3V0cHV0CiMKCmRlY2xhcmUgLXggU0tPUEVPX0RFQlVHX0ZMQUc9IiIKCmlmIFtbICIke1BBUkFNU19WRVJCT1NFfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBTS09QRU9fREVCVUdfRkxBRz0iLS1kZWJ1ZyIKICAgIHNldCAteApmaQo=\" |base64 -d \u003e\"/scripts/skopeo-common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2hvcHQgLXMgaW5oZXJpdF9lcnJleGl0CnNldCAtZXUgLW8gcGlwZWZhaWwKCnNvdXJjZSAiJChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpL2NvbW1vbi5zaCIKc291cmNlICIkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19Iikvc2tvcGVvLWNvbW1vbi5zaCIKCiMgRW5zdXJlIHRoZSAvdGVrdG9uL2hvbWUvLmRvY2tlciBkaXJlY3RvcnkgZXhpc3RzCm1rZGlyIC1wIC93b3Jrc3BhY2UvaG9tZS8uZG9ja2VyCgpzZXQgLXgKCmlmIFsgLW4gIiR7UEFSQU1TX1NPVVJDRV9JTUFHRV9VUkx9IiBdICYmIFsgLW4gIiR7UEFSQU1TX0RFU1RJTkFUSU9OX0lNQUdFX1VSTH0iIF07IHRoZW4KICAgIHBoYXNlICJDb3B5aW5nICcke1BBUkFNU19TT1VSQ0VfSU1BR0VfVVJMfScgaW50byAnJHtQQVJBTVNfREVTVElOQVRJT05fSU1BR0VfVVJMfSciCiAgICBza29wZW8gY29weSAke1NLT1BFT19ERUJVR19GTEFHfSBcCiAgICAgICAgLS1zcmMtdGxzLXZlcmlmeT0iJHtQQVJBTVNfU1JDX1RMU19WRVJJRll9IiBcCiAgICAgICAgLS1kZXN0LXRscy12ZXJpZnk9IiR7UEFSQU1TX0RFU1RfVExTX1ZFUklGWX0iIFwKICAgICAgICAke1BBUkFNU19BUkdTOiske1BBUkFNU19BUkdTfX0gXAogICAgICAgICIke1BBUkFNU19TT1VSQ0VfSU1BR0VfVVJMfSIgXAogICAgICAgICIke1BBUkFNU19ERVNUSU5BVElPTl9JTUFHRV9VUkx9IgplbGlmIFsgIiR7V09SS1NQQUNFU19JTUFHRVNfVVJMX0JPVU5EfSIgPT0gInRydWUiIF07IHRoZW4KICAgIHBoYXNlICJDb3B5aW5nIHVzaW5nIHVybC50eHQgZmlsZSIKICAgICMgRnVuY3Rpb24gdG8gY29weSBtdWx0aXBsZSBpbWFnZXMuCiAgICBjb3B5aW1hZ2VzKCkgewogICAgICAgIGZpbGVuYW1lPSIke1dPUktTUEFDRVNfSU1BR0VTX1VSTF9QQVRIfS91cmwudHh0IgogICAgICAgIFtbICEgLWYgIiR7ZmlsZW5hbWV9IiBdXSAmJiBmYWlsICJ1cmwudHh0IGZpbGUgbm90IGZvdW5kIGF0OiAnJHtmaWxlbmFtZX0nIgogICAgICAgIHdoaWxlIElGUz0gcmVhZCAtciBsaW5lIHx8IFsgLW4gIiRsaW5lIiBdCiAgICAgICAgZG8KICAgICAgICAgICAgcmVhZCAtcmEgU09VUkNFIDw8PCIke2xpbmV9IgogICAgICAgICAgICBza29wZW8gY29weSAiJHtTT1VSQ0VbQF19IiAke1NLT1BFT19ERUJVR19GTEFHfSAtLXNyYy10bHMtdmVyaWZ5PSIke1BBUkFNU19TUkNfVExTX1ZFUklGWX0iIC0tZGVzdC10bHMtdmVyaWZ5PSIke1BBUkFNU19ERVNUX1RMU19WRVJJRll9IiAke1BBUkFNU19BUkdTOiske1BBUkFNU19BUkdTfX0KICAgICAgICAgICAgZWNobyAiJGxpbmUiCiAgICAgICAgZG9uZSA8ICIkZmlsZW5hbWUiCiAgICB9CgogICAgY29weWltYWdlcwplbHNlCiAgZmFpbCAiTmVpdGhlciBTb3VyY2UvRGVzdGluYXRpb24gaW1hZ2UgVVJMIHBhcmFtZXRlcnMgbm9yIHdvcmtzcGFjZSBpbWFnZXNfdXJsIHByb3ZpZGVkIgpmaQo=\" |base64 -d \u003e\"/scripts/skopeo-copy.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2hvcHQgLXMgaW5oZXJpdF9lcnJleGl0CnNldCAtZXUgLW8gcGlwZWZhaWwKCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9jb21tb24uc2giCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9za29wZW8tY29tbW9uLnNoIgoKZnVuY3Rpb24gc2tvcGVvX2luc3BlY3QoKSB7CiAgICBsb2NhbCBpbWFnZT0iJDEiCiAgICBsb2NhbCB0bHNfdmVyaWZ5PSIkMiIKICAgIHNrb3BlbyBpbnNwZWN0ICR7U0tPUEVPX0RFQlVHX0ZMQUd9IFwKICAgICAgICAtLXRscy12ZXJpZnk9IiR7dGxzX3ZlcmlmeX0iIFwKICAgICAgICAtLWZvcm1hdD0ne3sgLkRpZ2VzdCB9fScgXAogICAgICAgICIke2ltYWdlfSIKfQoKaWYgWyAtbiAiJHtQQVJBTVNfU09VUkNFX0lNQUdFX1VSTH0iIF0gJiYgWyAtbiAiJHtQQVJBTVNfREVTVElOQVRJT05fSU1BR0VfVVJMfSIgXTsgdGhlbgogICAgcGhhc2UgIkV4dHJhY3RpbmcgJyR7UEFSQU1TX1NPVVJDRV9JTUFHRV9VUkx9JyBzb3VyY2UgaW1hZ2UgZGlnZXN0IgogICAgc291cmNlX2RpZ2VzdD0iJChza29wZW9faW5zcGVjdCAiJHtQQVJBTVNfU09VUkNFX0lNQUdFX1VSTH0iICIke1BBUkFNU19TUkNfVExTX1ZFUklGWX0iKSIKICAgIHBoYXNlICJTb3VyY2UgaW1hZ2UgZGlnZXN0ICcke3NvdXJjZV9kaWdlc3R9JyIKCiAgICBwaGFzZSAiRXh0cmFjdGluZyAnJHtQQVJBTVNfREVTVElOQVRJT05fSU1BR0VfVVJMfScgZGVzdGluYXRpb24gaW1hZ2UgZGlnZXN0IgogICAgZGVzdGluYXRpb25fZGlnZXN0PSIkKHNrb3Blb19pbnNwZWN0ICIke1BBUkFNU19ERVNUSU5BVElPTl9JTUFHRV9VUkx9IiAiJHtQQVJBTVNfREVTVF9UTFNfVkVSSUZZfSIpIgogICAgcGhhc2UgIkRlc3RpbmF0aW9uIGltYWdlIGRpZ2VzdCAnJHtkZXN0aW5hdGlvbl9kaWdlc3R9JyIKZWxzZQogICAgcGhhc2UgIkV4dHJhY3Rpbmcgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBpbWFnZSBkaWdlc3RzIGZvciBpbWFnZXMgZnJvbSB1cmwudHh0IGZpbGUiCiAgICBmaWxlbmFtZT0iJHtXT1JLU1BBQ0VTX0lNQUdFU19VUkxfUEFUSH0vdXJsLnR4dCIKICAgIHNvdXJjZV9kaWdlc3Q9IiIKICAgIGRlc3RpbmF0aW9uX2RpZ2VzdD0iIgogICAgd2hpbGUgSUZTPSByZWFkIC1yIGxpbmUgfHwgWyAtbiAiJGxpbmUiIF0KICAgIGRvCiAgICAgICAgcmVhZCAtcmEgU09VUkNFIDw8PCIke2xpbmV9IgogICAgICAgIHNvdXJjZV9kaWdlc3Q9IiRzb3VyY2VfZGlnZXN0ICQoc2tvcGVvX2luc3BlY3QgJHtTT1VSQ0VbMF19ICR7UEFSQU1TX1NSQ19UTFNfVkVSSUZZfSkiCiAgICAgICAgZGVzdGluYXRpb25fZGlnZXN0PSIkZGVzdGluYXRpb25fZGlnZXN0ICQoc2tvcGVvX2luc3BlY3QgJHtTT1VSQ0VbMV19ICR7UEFSQU1TX0RFU1RfVExTX1ZFUklGWX0pIgogICAgZG9uZSA8ICIkZmlsZW5hbWUiCiAgICAjIFJlbW92ZSB3aGl0ZXNwYWNlIGZyb20gdGhlIHN0YXJ0CiAgICBzb3VyY2VfZGlnZXN0PSIke3NvdXJjZV9kaWdlc3QjIH0iCiAgICBkZXN0aW5hdGlvbl9kaWdlc3Q9IiR7ZGVzdGluYXRpb25fZGlnZXN0IyB9IgogICAgcGhhc2UgIlNvdXJjZSBpbWFnZSBkaWdlc3RzICcke3NvdXJjZV9kaWdlc3R9JyIKICAgIHBoYXNlICJEZXN0aW5hdGlvbiBpbWFnZSBkaWdlc3RzICcke2Rlc3RpbmF0aW9uX2RpZ2VzdH0nIgpmaQoKcHJpbnRmICIlcyIgIiR7c291cmNlX2RpZ2VzdH0iID4gIiR7UkVTVUxUU19TT1VSQ0VfRElHRVNUX1BBVEh9IgpwcmludGYgIiVzIiAiJHtkZXN0aW5hdGlvbl9kaWdlc3R9IiA+ICIke1JFU1VMVFNfREVTVElOQVRJT05fRElHRVNUX1BBVEh9Igo=\" |base64 -d \u003e\"/scripts/skopeo-results.sh\"\nls /scripts/skopeo-*.sh;\nchmod +x /scripts/skopeo-*.sh;echo \"Running Script /scripts/skopeo-copy.sh\";\n  /scripts/skopeo-copy.sh \"$@\";echo \"Running Script /scripts/skopeo-results.sh\";\n  /scripts/skopeo-results.sh \"$@\";\n",
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ]
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "For storing image urls in case of more than one image to copy. It must have a url.txt file at the root path\ncontaining a source and a destination image separated by a space on each line.\n",
                                    "name": "images_url",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "Task",
                        "metadata": {
                            "annotations": {
                                "artifacthub.io/category": "integration-delivery",
                                "artifacthub.io/maintainers": "- name: OpenShift Pipeline task maintainers\n  email: pipelines-extcomm@redhat.com\n",
                                "artifacthub.io/provider": "Red Hat",
                                "artifacthub.io/recommendations": "- url: https://tekton.dev/\n",
                                "tekton.dev/displayName": "CLI",
                                "tekton.dev/pipelines.minVersion": "0.17.0",
                                "tekton.dev/source": "https://github.com/openshift-pipelines/task-openshift",
                                "tekton.dev/tags": "cli"
                            },
                            "labels": {
                                "app.kubernetes.io/version": "0.2.2",
                                "operator.tekton.dev/operand-name": "openshift-pipelines-addons",
                                "operator.tekton.dev/provider-type": "redhat"
                            },
                            "name": "tkn-1-20-0",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "spec": {
                            "description": "This task performs operations on Tekton resources using tkn.",
                            "params": [
                                {
                                    "default": "tkn $@",
                                    "description": "tkn CLI script to execute",
                                    "name": "SCRIPT",
                                    "type": "string"
                                },
                                {
                                    "default": [
                                        "--help"
                                    ],
                                    "description": "tkn CLI arguments to run",
                                    "name": "ARGS",
                                    "type": "array"
                                }
                            ],
                            "stepTemplate": {
                                "env": [
                                    {
                                        "name": "PARAMS_SCRIPT",
                                        "value": "$(params.SCRIPT)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_BOUND",
                                        "value": "$(workspaces.kubeconfig_dir.bound)"
                                    },
                                    {
                                        "name": "WORKSPACES_KUBECONFIG_DIR_PATH",
                                        "value": "$(workspaces.kubeconfig_dir.path)"
                                    }
                                ]
                            },
                            "steps": [
                                {
                                    "args": [
                                        "$(params.ARGS)"
                                    ],
                                    "env": [
                                        {
                                            "name": "HOME",
                                            "value": "/tekton/home"
                                        }
                                    ],
                                    "image": "registry.redhat.io/openshift-pipelines/pipelines-cli-tkn-rhel9@sha256:72b20bc29e4abbb9cbf473b603c71b4880d64b66c1c2b344e1954c7e01af6095",
                                    "name": "tkn",
                                    "script": "set -e\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyB0ZWt0b24ncyBob21lIGRpcmVjdG9yeQpkZWNsYXJlIC1yeCBURUtUT05fSE9NRT0iJHtURUtUT05fSE9NRTotL3Rla3Rvbi9ob21lfSIKCiMKIyBGdW5jdGlvbnMKIwoKZnVuY3Rpb24gZmFpbCgpIHsKICAgIGVjaG8gIkVSUk9SOiAkeyp9IiAyPiYxCiAgICBleGl0IDEKfQoKZnVuY3Rpb24gcGhhc2UoKSB7CiAgICBlY2hvICItLS0+IFBoYXNlOiAkeyp9Li4uIgp9CgojIGFzc2VydCBsb2NhbCB2YXJpYWJsZXMgYXJlIGV4cG9yZXRlZCBvbiB0aGUgZW52aXJvbm1lbnQKZnVuY3Rpb24gZXhwb3J0ZWRfb3JfZmFpbCgpIHsKICAgIGRlY2xhcmUgLWEgX3JlcXVpcmVkX3ZhcnM9IiR7QH0iCgogICAgZm9yIHYgaW4gJHtfcmVxdWlyZWRfdmFyc1tAXX07IGRvCiAgICAgICAgW1sgLXogIiR7IXZ9IiBdXSAmJgogICAgICAgICAgICBmYWlsICInJHt2fScgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldCEiCiAgICBkb25lCgogICAgcmV0dXJuIDAKfQoK\" |base64 -d \u003e\"/scripts/common.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2hvcHQgLXMgaW5oZXJpdF9lcnJleGl0CnNldCAtZXUgLW8gcGlwZWZhaWwKCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS9jb21tb24uc2giCnNvdXJjZSAiJChkaXJuYW1lICR7QkFTSF9TT1VSQ0VbMF19KS90a24tY29tbW9uLnNoIgoKW1sgIiR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9CT1VORH0iID09ICJ0cnVlIiBdXSAmJiBcCltbIC1mICR7V09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIfS9rdWJlY29uZmlnIF1dICYmIFwKZXhwb3J0IEtVQkVDT05GSUc9JHtXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX1BBVEh9L2t1YmVjb25maWcKCmV2YWwgJHtQQVJBTVNfU0NSSVBUfQo=\" |base64 -d \u003e\"/scripts/tkn-client.sh\"\nprintf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggUEFSQU1TX1NDUklQVD0iJHtQQVJBTVNfU0NSSVBUOi19IgoKZGVjbGFyZSAtcnggV09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9QQVRIPSIke1dPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfUEFUSDotfSIKZGVjbGFyZSAtcnggV09SS1NQQUNFU19LVUJFQ09ORklHX0RJUl9CT1VORD0iJHtXT1JLU1BBQ0VTX0tVQkVDT05GSUdfRElSX0JPVU5EOi19IgoKIwojIEFzc2VydGluZyBFbnZpcm9ubWVudAojCgpleHBvcnRlZF9vcl9mYWlsIFwKICAgIFdPUktTUEFDRVNfS1VCRUNPTkZJR19ESVJfQk9VTkQgXAogICAgUEFSQU1TX1NDUklQVCBcCiAgIAo=\" |base64 -d \u003e\"/scripts/tkn-common.sh\"\nchmod +x /scripts/tkn-*.sh;echo \"Running Script /scripts/tkn-client.sh\";\n  /scripts/tkn-client.sh $@;\n",
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "runAsUser": 65532
                                    },
                                    "volumeMounts": [
                                        {
                                            "mountPath": "/scripts",
                                            "name": "scripts-dir"
                                        }
                                    ]
                                }
                            ],
                            "volumes": [
                                {
                                    "emptyDir": {},
                                    "name": "scripts-dir"
                                }
                            ],
                            "workspaces": [
                                {
                                    "description": "An optional workspace that allows you to provide a .kube/config file for tkn to access the cluster. The file should be placed at the root of the Workspace with name kubeconfig.",
                                    "name": "kubeconfig_dir",
                                    "optional": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "name": "tekton-ecosystem-task-list-binding",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonAddon",
                                    "name": "addon",
                                    "uid": "eb5726ae-9877-4168-ad0d-0b109fe9fd26"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-ecosystem-task-list-role"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:10Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "ad7463a1180cdc5a7c2838da943fb77c2d6616ae855e3e5ad7f89b8e903b794a",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:13:34Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "chain-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonChain",
                    "operator.tekton.dev/installType": "deployment",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "chain"
                },
                "name": "chain-c4g8d",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonChain",
                        "name": "chain",
                        "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                    }
                ],
                "resourceVersion": "23775",
                "uid": "129c4b00-5f6f-4ae9-a818-993954d81323"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "controller",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains",
                                "pipeline.tekton.dev/release": "v0.25.1",
                                "version": "v0.25.1"
                            },
                            "name": "tekton-chains-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "controller",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "controller",
                                    "app.kubernetes.io/part-of": "tekton-chains"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "annotations": {
                                        "cluster-autoscaler.kubernetes.io/safe-to-evict": "false"
                                    },
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-chains-controller",
                                        "app.kubernetes.io/component": "controller",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "controller",
                                        "app.kubernetes.io/part-of": "tekton-chains",
                                        "deployment.spec.replicas": "1",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "536569f035327fdd642ac1e069e39d0f",
                                        "pipeline.tekton.dev/release": "v0.25.1",
                                        "version": "v0.25.1"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "env": [
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/chains"
                                                },
                                                {
                                                    "name": "CONFIG_OBSERVABILITY_NAME",
                                                    "value": "tekton-chains-config-observability"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "tekton-chains-config-leader-election"
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-chains-controller-rhel9@sha256:eb3c1bbbbaec16c0b2e1565b9f2885f6213a1d2f90ca63c7986042a6ed2be1b8",
                                            "name": "tekton-chains-controller",
                                            "ports": [
                                                {
                                                    "containerPort": 9090,
                                                    "name": "metrics"
                                                }
                                            ],
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/etc/signing-secrets",
                                                    "name": "signing-secrets"
                                                },
                                                {
                                                    "mountPath": "/var/run/sigstore/cosign",
                                                    "name": "oidc-info"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-chains-controller",
                                    "volumes": [
                                        {
                                            "name": "signing-secrets",
                                            "secret": {
                                                "secretName": "signing-secrets"
                                            }
                                        },
                                        {
                                            "name": "oidc-info",
                                            "projected": {
                                                "sources": [
                                                    {
                                                        "serviceAccountToken": {
                                                            "audience": "sigstore",
                                                            "expirationSeconds": 600,
                                                            "path": "oidc-token"
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "tekton-chains-controller-cluster-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-chains-controller-cluster-access"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-chains-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "tekton-chains-controller-cluster-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "pods"
                                ],
                                "verbs": [
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks",
                                    "clustertasks",
                                    "taskruns",
                                    "pipelines",
                                    "pipelineruns",
                                    "pipelineresources",
                                    "conditions",
                                    "runs"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "taskruns/finalizers",
                                    "pipelineruns/finalizers",
                                    "runs/finalizers"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks/status",
                                    "clustertasks/status",
                                    "taskruns/status",
                                    "pipelines/status",
                                    "pipelineruns/status",
                                    "pipelineresources/status",
                                    "runs/status"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "tekton-chains-controller-tenant-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "pods",
                                    "pods/log",
                                    "events",
                                    "persistentvolumeclaims"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps",
                                    "limitranges",
                                    "secrets",
                                    "serviceaccounts"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "apps"
                                ],
                                "resources": [
                                    "statefulsets"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "tekton-chains-controller-tenant-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-chains-controller-tenant-access"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-chains-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "tekton-chains-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "tekton-chains-leader-election",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "coordination.k8s.io"
                                ],
                                "resources": [
                                    "leases"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "tekton-chains-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "chains-info"
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "version": "v0.25.1"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "chains-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "tekton-chains-config-leader-election",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "loglevel.controller": "info",
                            "loglevel.webhook": "info",
                            "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"sampling\": {\n    \"initial\": 100,\n    \"thereafter\": 100\n  },\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"ts\",\n    \"levelKey\": \"level\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"msg\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "config-logging",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n#\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using Stackdriver will incur additional charges.\n#\nmetrics.backend-destination: prometheus\n#\n# metrics.stackdriver-project-id field specifies the Stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used and metrics will be sent to the cluster's project if this field is\n# not provided.\n#\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n#\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed\n# to send metrics to Stackdriver using \"global\" resource type and custom\n# metric type. Setting this flag to \"true\" could cause extra Stackdriver\n# charge.  If metrics.backend-destination is not Stackdriver, this is\n# ignored.\n#\nmetrics.allow-stackdriver-custom-metrics: \"false\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "tekton-chains-config-observability",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app": "tekton-chains-controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "tekton-chains-metrics",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "http-metrics",
                                    "port": 9090,
                                    "protocol": "TCP",
                                    "targetPort": 9090
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "controller",
                                "app.kubernetes.io/part-of": "tekton-chains"
                            }
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains"
                            },
                            "name": "tekton-chains-controller-leaderelection",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-chains-leader-election"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-chains-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains"
                            },
                            "name": "tekton-chains-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-chains-info"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:13:39Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:34Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:39Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:34Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:39Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "ad7463a1180cdc5a7c2838da943fb77c2d6616ae855e3e5ad7f89b8e903b794a",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:15:01Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "chain-config-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonChain",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "chain-config"
                },
                "name": "chain-config-9zpks",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonChain",
                        "name": "chain",
                        "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                    }
                ],
                "resourceVersion": "23772",
                "uid": "a9fbcd30-6500-43ea-ad14-fa9b87184c48"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "v1",
                        "data": {
                            "artifacts.oci.format": "simplesigning",
                            "artifacts.oci.storage": "oci",
                            "artifacts.pipelinerun.format": "in-toto",
                            "artifacts.pipelinerun.storage": "oci",
                            "artifacts.taskrun.format": "in-toto",
                            "artifacts.taskrun.storage": "oci",
                            "performance": "performanceleaderelectionconfig:\n    buckets: null\nperformancestatefulsetordinalsconfig:\n    statefulsetordinals: null\ndeploymentperformanceargs:\n    disableha: false\n    threadspercontroller: null\n    kubeapiqps: null\n    kubeapiburst: null\nreplicas: null\n",
                            "signers.x509.fulcio.address": "https://fulcio-server-tsf-tas.apps.rosa.kx-f1cb2dbfda.qmca.p3.openshiftapps.com",
                            "signers.x509.fulcio.enabled": "true",
                            "signers.x509.identity.token.file": "/var/run/sigstore/cosign/oidc-token",
                            "transparency.enabled": "true",
                            "transparency.url": "https://rekor-server-tsf-tas.apps.rosa.kx-f1cb2dbfda.qmca.p3.openshiftapps.com"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "chains-config",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:15:01Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:15:01Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:15:01Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:15:01Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:15:01Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:15:01Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:15:01Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:15:01Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:15:01Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:15:01Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:13:34Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "chain-secret-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonChain",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "chain-secret"
                },
                "name": "chain-secret-99hfq",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonChain",
                        "name": "chain",
                        "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                    }
                ],
                "resourceVersion": "21515",
                "uid": "bf72d097-453c-4545-838d-916060e5ec09"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "v1",
                        "kind": "Secret",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-chains",
                                "operator.tekton.dev/operand-name": "tektoncd-chains"
                            },
                            "name": "signing-secrets",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonChain",
                                    "name": "chain",
                                    "uid": "dfc213f3-1a88-410f-a124-d7dd0a1d4855"
                                }
                            ]
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:34Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:34Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:35Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "53520166e0d0b8b15970d2a4a7016bb4ff49fc7441b502f5f2bf2cae901d6bd3",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:27Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "openshiftpipelinesascode-main-deployment-",
                "generation": 2,
                "labels": {
                    "operator.tekton.dev/created-by": "OpenShiftPipelinesAsCode",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "main"
                },
                "name": "openshiftpipelinesascode-main-deployment-zblc4",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "OpenShiftPipelinesAsCode",
                        "name": "pipelines-as-code",
                        "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                    }
                ],
                "resourceVersion": "23786",
                "uid": "57cf1b0c-d46d-4f2d-94da-330cefe75d53"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "controller",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "controller",
                                    "app.kubernetes.io/part-of": "pipelines-as-code"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "pipelines-as-code-controller",
                                        "app.kubernetes.io/component": "controller",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "controller",
                                        "app.kubernetes.io/part-of": "pipelines-as-code",
                                        "app.kubernetes.io/version": "v0.37.7",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "07c12605c650e5ec10c157e8de9d753e"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "command": [
                                                "/ko-app/pipelines-as-code-controller"
                                            ],
                                            "env": [
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "pac-config-logging"
                                                },
                                                {
                                                    "name": "TLS_KEY",
                                                    "value": "key"
                                                },
                                                {
                                                    "name": "TLS_CERT",
                                                    "value": "cert"
                                                },
                                                {
                                                    "name": "TLS_SECRET_NAME",
                                                    "value": "pipelines-as-code-tls-secret"
                                                },
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "K_METRICS_CONFIG",
                                                    "value": "{\"Domain\":\"pipelinesascode.tekton.dev/controller\",\"Component\":\"pac_controller\",\"PrometheusPort\":9090,\"ConfigMap\":{\"name\":\"pipelines-as-code-config-observability\"}}"
                                                },
                                                {
                                                    "name": "K_TRACING_CONFIG",
                                                    "value": "{\"backend\":\"prometheus\",\"debug\":\"false\",\"sample-rate\":\"0\"}"
                                                },
                                                {
                                                    "name": "K_SINK_TIMEOUT",
                                                    "value": "30"
                                                },
                                                {
                                                    "name": "PAC_CONTROLLER_LABEL",
                                                    "value": "default"
                                                },
                                                {
                                                    "name": "PAC_CONTROLLER_SECRET",
                                                    "value": "pipelines-as-code-secret"
                                                },
                                                {
                                                    "name": "PAC_CONTROLLER_CONFIGMAP",
                                                    "value": "pipelines-as-code"
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-pipelines-as-code-controller-rhel9@sha256:bfe69478e0994a9229a6d28e48ea8dbd837869b88861a205610de8d1cce41973",
                                            "imagePullPolicy": "Always",
                                            "livenessProbe": {
                                                "failureThreshold": 3,
                                                "httpGet": {
                                                    "path": "/live",
                                                    "port": "api",
                                                    "scheme": "HTTP"
                                                },
                                                "periodSeconds": 15,
                                                "successThreshold": 1,
                                                "timeoutSeconds": 1
                                            },
                                            "name": "pac-controller",
                                            "ports": [
                                                {
                                                    "containerPort": 8082,
                                                    "name": "api"
                                                },
                                                {
                                                    "containerPort": 9090,
                                                    "name": "metrics"
                                                }
                                            ],
                                            "readinessProbe": {
                                                "failureThreshold": 3,
                                                "httpGet": {
                                                    "path": "/live",
                                                    "port": "api",
                                                    "scheme": "HTTP"
                                                },
                                                "periodSeconds": 15,
                                                "successThreshold": 1,
                                                "timeoutSeconds": 1
                                            },
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/etc/pipelines-as-code/tls",
                                                    "name": "tls",
                                                    "readOnly": true
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "pipelines-as-code-controller",
                                    "volumes": [
                                        {
                                            "name": "tls",
                                            "secret": {
                                                "optional": true,
                                                "secretName": "pipelines-as-code-tls-secret"
                                            }
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-watcher",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "watcher",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "watcher",
                                    "app.kubernetes.io/part-of": "pipelines-as-code"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "pipelines-as-code-watcher",
                                        "app.kubernetes.io/component": "watcher",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "watcher",
                                        "app.kubernetes.io/part-of": "pipelines-as-code",
                                        "app.kubernetes.io/version": "v0.37.7",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "8b1c341c7866950f749b340467049dc6"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "command": [
                                                "/ko-app/pipelines-as-code-watcher"
                                            ],
                                            "env": [
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "pac-config-logging"
                                                },
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/pipelinesascode"
                                                },
                                                {
                                                    "name": "CONFIG_OBSERVABILITY_NAME",
                                                    "value": "pipelines-as-code-config-observability"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "pac-watcher-config-leader-election"
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-pipelines-as-code-watcher-rhel9@sha256:95f3cc4e3173845779e8ed825d34fba1ef07cd3d77c7243b30db2a2915cd1b61",
                                            "imagePullPolicy": "Always",
                                            "livenessProbe": {
                                                "httpGet": {
                                                    "path": "/live",
                                                    "port": "probes",
                                                    "scheme": "HTTP"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10,
                                                "timeoutSeconds": 5
                                            },
                                            "name": "pac-watcher",
                                            "ports": [
                                                {
                                                    "containerPort": 8080,
                                                    "name": "probes"
                                                },
                                                {
                                                    "containerPort": 9090,
                                                    "name": "metrics"
                                                }
                                            ],
                                            "readinessProbe": {
                                                "httpGet": {
                                                    "path": "/live",
                                                    "port": "probes",
                                                    "scheme": "HTTP"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10,
                                                "timeoutSeconds": 5
                                            },
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "pipelines-as-code-watcher",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "webhook",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "webhook",
                                    "app.kubernetes.io/part-of": "pipelines-as-code"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app.kubernetes.io/component": "webhook",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "webhook",
                                        "app.kubernetes.io/part-of": "pipelines-as-code",
                                        "app.kubernetes.io/version": "v0.37.7",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "8bdeb210d5a09d08364ad43e3cb16c8b"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "command": [
                                                "/ko-app/pipelines-as-code-webhook"
                                            ],
                                            "env": [
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "pac-config-logging"
                                                },
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "WEBHOOK_SERVICE_NAME",
                                                    "value": "pipelines-as-code-webhook"
                                                },
                                                {
                                                    "name": "WEBHOOK_SECRET_NAME",
                                                    "value": "pipelines-as-code-webhook-certs"
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/pipelinesascode"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "pac-webhook-config-leader-election"
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-pipelines-as-code-webhook-rhel9@sha256:d28ec79f725102e88993e987bafaf1bb406859bab28743aad573825a51df799e",
                                            "name": "pac-webhook",
                                            "ports": [
                                                {
                                                    "containerPort": 8443,
                                                    "name": "https-webhook"
                                                }
                                            ],
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "pipelines-as-code-webhook",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:28Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:31Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:28Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:28Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:28Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:28Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:28Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:31Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "53520166e0d0b8b15970d2a4a7016bb4ff49fc7441b502f5f2bf2cae901d6bd3",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:24Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "openshiftpipelinesascode-main-static-",
                "generation": 2,
                "labels": {
                    "operator.tekton.dev/created-by": "OpenShiftPipelinesAsCode",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "main"
                },
                "name": "openshiftpipelinesascode-main-static-rbmrq",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "OpenShiftPipelinesAsCode",
                        "name": "pipelines-as-code",
                        "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                    }
                ],
                "resourceVersion": "23788",
                "uid": "34622a6f-2d6c-4c4a-ba41-8ff34110d52b"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "pipelines-as-code-info"
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code",
                                "rbac.authorization.k8s.io/aggregate-to-admin": "true",
                                "rbac.authorization.k8s.io/aggregate-to-edit": "true"
                            },
                            "name": "pipelines-as-code-aggregate",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "pipelinesascode.tekton.dev"
                                ],
                                "resources": [
                                    "repositories"
                                ],
                                "verbs": [
                                    "create",
                                    "delete",
                                    "deletecollection",
                                    "get",
                                    "list",
                                    "patch",
                                    "update",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-controller-role",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipeline-as-code-controller-clusterrole",
                            "namespace": "pipelines-as-code",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "namespaces"
                                ],
                                "verbs": [
                                    "create"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "get",
                                    "create",
                                    "update",
                                    "delete"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "pipelinesascode.tekton.dev"
                                ],
                                "resources": [
                                    "repositories"
                                ],
                                "verbs": [
                                    "get",
                                    "create",
                                    "list"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "pipelineruns"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "patch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "events"
                                ],
                                "verbs": [
                                    "create"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "route.openshift.io"
                                ],
                                "resources": [
                                    "routes"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-controller-clusterbinding",
                            "namespace": "pipelines-as-code",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "pipeline-as-code-controller-clusterrole"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "pipelines-as-code-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-watcher",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-watcher-role",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "coordination.k8s.io"
                                ],
                                "resources": [
                                    "leases"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipeline-as-code-watcher-clusterrole",
                            "namespace": "pipelines-as-code",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "get",
                                    "delete"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "pipelinesascode.tekton.dev"
                                ],
                                "resources": [
                                    "repositories"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "update",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "pipelineruns"
                                ],
                                "verbs": [
                                    "get",
                                    "delete",
                                    "list",
                                    "watch",
                                    "update",
                                    "patch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "taskruns"
                                ],
                                "verbs": [
                                    "get",
                                    "list"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "pods/log"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "events"
                                ],
                                "verbs": [
                                    "create",
                                    "update",
                                    "patch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "route.openshift.io"
                                ],
                                "resources": [
                                    "routes"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-watcher-clusterbinding",
                            "namespace": "pipelines-as-code",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "pipeline-as-code-watcher-clusterrole"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "pipelines-as-code-watcher",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-webhook-role",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "pipelines-as-code-webhook-certs"
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "get",
                                    "update"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "coordination.k8s.io"
                                ],
                                "resources": [
                                    "leases"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipeline-as-code-webhook-clusterrole",
                            "namespace": "pipelines-as-code",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "pipelinesascode.tekton.dev"
                                ],
                                "resources": [
                                    "repositories"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "admissionregistration.k8s.io"
                                ],
                                "resources": [
                                    "validatingwebhookconfigurations"
                                ],
                                "verbs": [
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "admissionregistration.k8s.io"
                                ],
                                "resourceNames": [
                                    "validation.pipelinesascode.tekton.dev"
                                ],
                                "resources": [
                                    "validatingwebhookconfigurations"
                                ],
                                "verbs": [
                                    "get",
                                    "update",
                                    "delete"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-webhook-clusterbinding",
                            "namespace": "pipelines-as-code",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "pipeline-as-code-webhook-clusterrole"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "pipelines-as-code-webhook",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "repositories.pipelinesascode.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "spec": {
                            "group": "pipelinesascode.tekton.dev",
                            "names": {
                                "kind": "Repository",
                                "plural": "repositories",
                                "shortNames": [
                                    "repo"
                                ],
                                "singular": "repository"
                            },
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "additionalPrinterColumns": [
                                        {
                                            "jsonPath": ".spec.url",
                                            "name": "URL",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".pipelinerun_status[-1].conditions[?(@.type==\"Succeeded\")].status",
                                            "name": "Succeeded",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".pipelinerun_status[-1].conditions[?(@.type==\"Succeeded\")].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".pipelinerun_status[-1].startTime",
                                            "name": "StartTime",
                                            "type": "date"
                                        },
                                        {
                                            "jsonPath": ".pipelinerun_status[-1].completionTime",
                                            "name": "CompletionTime",
                                            "type": "date"
                                        }
                                    ],
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "Repository is the representation of a Git repository from a Git provider platform.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "pipelinerun_status": {
                                                    "items": {
                                                        "properties": {
                                                            "annotations": {
                                                                "additionalProperties": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
                                                                "type": "object"
                                                            },
                                                            "completionTime": {
                                                                "description": "CompletionTime is the time the PipelineRun completed.",
                                                                "format": "date-time",
                                                                "type": "string"
                                                            },
                                                            "conditions": {
                                                                "description": "Conditions the latest available observations of a resource's current state.",
                                                                "items": {
                                                                    "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
                                                                    "properties": {
                                                                        "lastTransitionTime": {
                                                                            "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                                                                            "type": "string"
                                                                        },
                                                                        "message": {
                                                                            "description": "A human readable message indicating details about the transition.",
                                                                            "type": "string"
                                                                        },
                                                                        "reason": {
                                                                            "description": "The reason for the condition's last transition.",
                                                                            "type": "string"
                                                                        },
                                                                        "severity": {
                                                                            "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                                                                            "type": "string"
                                                                        },
                                                                        "status": {
                                                                            "description": "Status of the condition, one of True, False, Unknown.",
                                                                            "type": "string"
                                                                        },
                                                                        "type": {
                                                                            "description": "Type of condition.",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "status",
                                                                        "type"
                                                                    ],
                                                                    "type": "object"
                                                                },
                                                                "type": "array"
                                                            },
                                                            "event_type": {
                                                                "description": "EventType is the event type of that run",
                                                                "type": "string"
                                                            },
                                                            "failure_reason": {
                                                                "additionalProperties": {
                                                                    "description": "TaskInfos contains information about a task.",
                                                                    "properties": {
                                                                        "completion_time": {
                                                                            "format": "date-time",
                                                                            "type": "string"
                                                                        },
                                                                        "display_name": {
                                                                            "type": "string"
                                                                        },
                                                                        "log_snippet": {
                                                                            "type": "string"
                                                                        },
                                                                        "message": {
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "type": "string"
                                                                        },
                                                                        "reason": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "name"
                                                                    ],
                                                                    "type": "object"
                                                                },
                                                                "description": "CollectedTaskInfos is the information about tasks",
                                                                "type": "object"
                                                            },
                                                            "logurl": {
                                                                "description": "LogURL is the full URL to the log for this run.",
                                                                "type": "string"
                                                            },
                                                            "observedGeneration": {
                                                                "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
                                                                "format": "int64",
                                                                "type": "integer"
                                                            },
                                                            "pipelineRunName": {
                                                                "description": "PipelineRunName is the name of the PipelineRun",
                                                                "type": "string"
                                                            },
                                                            "sha": {
                                                                "description": "SHA is the name of the SHA that has been tested",
                                                                "type": "string"
                                                            },
                                                            "sha_url": {
                                                                "description": "SHA the URL of the SHA to view it",
                                                                "type": "string"
                                                            },
                                                            "startTime": {
                                                                "description": "StartTime is the time the PipelineRun is actually started.",
                                                                "format": "date-time",
                                                                "type": "string"
                                                            },
                                                            "target_branch": {
                                                                "description": "TargetBranch is the target branch of that run",
                                                                "type": "string"
                                                            },
                                                            "title": {
                                                                "description": "Title is the title of the commit SHA that has been tested",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "type": "array"
                                                },
                                                "spec": {
                                                    "description": "RepositorySpec defines the desired state of a Repository, including its URL,\nGit provider configuration, and operational settings.",
                                                    "properties": {
                                                        "concurrency_limit": {
                                                            "description": "ConcurrencyLimit defines the maximum number of concurrent pipelineruns that can\nrun for this repository. This helps prevent resource exhaustion when many events trigger\npipelines simultaneously.",
                                                            "minimum": 1,
                                                            "type": "integer"
                                                        },
                                                        "git_provider": {
                                                            "description": "GitProvider details specific to a git provider configuration. Contains authentication,\nAPI endpoints, and provider type information needed to interact with the Git service.",
                                                            "properties": {
                                                                "secret": {
                                                                    "description": "Secret reference for authentication with the Git provider. Contains the token,\npassword, or private key used to authenticate requests to the Git provider API.",
                                                                    "properties": {
                                                                        "key": {
                                                                            "description": "Key in the secret",
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "description": "Name of the secret",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "name"
                                                                    ],
                                                                    "type": "object"
                                                                },
                                                                "type": {
                                                                    "description": "Type of git provider. Determines which Git provider API and authentication flow to use.\nSupported values:\n- 'github': GitHub.com or GitHub Enterprise\n- 'gitlab': GitLab.com or self-hosted GitLab\n- 'bitbucket-datacenter': Bitbucket Data Center (self-hosted)\n- 'bitbucket-cloud': Bitbucket Cloud (bitbucket.org)\n- 'gitea': Gitea instances",
                                                                    "enum": [
                                                                        "github",
                                                                        "gitlab",
                                                                        "bitbucket-datacenter",
                                                                        "bitbucket-cloud",
                                                                        "gitea"
                                                                    ],
                                                                    "type": "string"
                                                                },
                                                                "url": {
                                                                    "description": "URL of the git provider API endpoint. This is the base URL for API requests to the\nGit provider (e.g., 'https://api.github.com' for GitHub or a custom GitLab instance URL).",
                                                                    "type": "string"
                                                                },
                                                                "user": {
                                                                    "description": "User of the git provider. Username to use for authentication when using basic auth\nor token-based authentication methods. Not used for GitHub Apps authentication.",
                                                                    "type": "string"
                                                                },
                                                                "webhook_secret": {
                                                                    "description": "WebhookSecret reference for webhook validation. Contains the shared secret used to\nvalidate that incoming webhooks are legitimate and coming from the Git provider.",
                                                                    "properties": {
                                                                        "key": {
                                                                            "description": "Key in the secret",
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "description": "Name of the secret",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "name"
                                                                    ],
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "incoming": {
                                                            "description": "Incomings defines incoming webhook configurations. Each configuration specifies how to\nhandle external webhook requests that don't come directly from the primary Git provider.",
                                                            "items": {
                                                                "properties": {
                                                                    "params": {
                                                                        "description": "Params defines parameter names to extract from the webhook payload. These parameters\nwill be made available to the PipelineRuns triggered by this webhook.",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "secret": {
                                                                        "description": "Secret for the incoming webhook authentication. This secret is used to validate\nthat webhook requests are coming from authorized sources.",
                                                                        "properties": {
                                                                            "key": {
                                                                                "description": "Key in the secret",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the secret",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "targets": {
                                                                        "description": "Targets defines target branches for this webhook. When specified, only webhook\nevents targeting these branches will trigger PipelineRuns.",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type of the incoming webhook. Currently only 'webhook-url' is supported, which allows\nexternal systems to trigger PipelineRuns via generic webhook requests.",
                                                                        "enum": [
                                                                            "webhook-url"
                                                                        ],
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "secret",
                                                                    "type"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "params": {
                                                            "description": "Params defines repository level parameters that can be referenced in PipelineRuns.\nThese parameters can be used as default values or configured for specific events.",
                                                            "items": {
                                                                "properties": {
                                                                    "filter": {
                                                                        "description": "Filter defines when this parameter applies. It can be used to conditionally\napply parameters based on the event type, branch name, or other attributes.",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name of the parameter. This is the key that will be used to reference this parameter\nin PipelineRun definitions through via the {{ name }} syntax.",
                                                                        "type": "string"
                                                                    },
                                                                    "secret_ref": {
                                                                        "description": "SecretRef references a secret for the parameter value. Use this when the parameter\ncontains sensitive information that should not be stored directly in the Repository CR.\nThis field is mutually exclusive with Value.",
                                                                        "properties": {
                                                                            "key": {
                                                                                "description": "Key in the secret",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the secret",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "value": {
                                                                        "description": "Value of the parameter. The literal value to be provided to the PipelineRun.\nThis field is mutually exclusive with SecretRef.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "settings": {
                                                            "description": "Settings contains the configuration settings for the repository, including\nauthorization policies, provider-specific configuration, and provenance settings.",
                                                            "properties": {
                                                                "github": {
                                                                    "properties": {
                                                                        "comment_strategy": {
                                                                            "description": "CommentStrategy defines how GitLab comments are handled for pipeline results.\nOptions:\n- 'disable_all': Disables all comments on merge requests",
                                                                            "enum": [
                                                                                "",
                                                                                "disable_all"
                                                                            ],
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "github_app_token_scope_repos": {
                                                                    "description": "GithubAppTokenScopeRepos lists repositories that can access the GitHub App token when using the\nGitHub App authentication method. This allows specific repositories to use tokens generated for\nthe GitHub App installation, useful for cross-repository access.",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "type": "array"
                                                                },
                                                                "gitlab": {
                                                                    "description": "Gitlab contains GitLab-specific settings for repositories hosted on GitLab.",
                                                                    "properties": {
                                                                        "comment_strategy": {
                                                                            "description": "CommentStrategy defines how GitLab comments are handled for pipeline results.\nOptions:\n- 'disable_all': Disables all comments on merge requests",
                                                                            "enum": [
                                                                                "",
                                                                                "disable_all"
                                                                            ],
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "pipelinerun_provenance": {
                                                                    "description": "PipelineRunProvenance configures how PipelineRun definitions are fetched.\nOptions:\n- 'source': Fetch definitions from the event source branch/SHA (default)\n- 'default_branch': Fetch definitions from the repository default branch",
                                                                    "enum": [
                                                                        "source",
                                                                        "default_branch"
                                                                    ],
                                                                    "type": "string"
                                                                },
                                                                "policy": {
                                                                    "description": "Policy defines authorization policies for the repository, controlling who can\ntrigger PipelineRuns under different conditions.",
                                                                    "properties": {
                                                                        "ok_to_test": {
                                                                            "description": "OkToTest defines a list of usernames that are allowed to trigger pipeline runs on pull requests\nfrom external contributors by commenting \"/ok-to-test\" on the PR. These users are typically\nrepository maintainers or trusted contributors who can vouch for external contributions.",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array"
                                                                        },
                                                                        "pull_request": {
                                                                            "description": "PullRequest defines a list of usernames that are explicitly allowed to execute\npipelines on their pull requests, even if they wouldn't normally have permission.\nThis is useful for allowing specific external contributors to trigger pipeline runs.",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "url": {
                                                            "description": "URL of the repository we are building. Must be a valid HTTP/HTTPS Git repository URL\nthat PAC will use to clone and fetch pipeline definitions from.",
                                                            "type": "string"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "required": [
                                                "spec"
                                            ],
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "loglevel.pac-watcher": "info",
                            "loglevel.pipelines-as-code-webhook": "info",
                            "loglevel.pipelinesascode": "info",
                            "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"sampling\": {\n    \"initial\": 100,\n    \"thereafter\": 100\n  },\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"ts\",\n    \"levelKey\": \"level\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"msg\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pac-config-logging",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "application-name": "TSF CI",
                            "auto-configure-new-github-repo": "false",
                            "auto-configure-repo-namespace-template": "",
                            "auto-configure-repo-repository-template": "",
                            "bitbucket-cloud-additional-source-ip": "",
                            "bitbucket-cloud-check-source-ip": "true",
                            "custom-console-name": "",
                            "custom-console-url": "",
                            "custom-console-url-namespace": "",
                            "custom-console-url-pr-details": "",
                            "custom-console-url-pr-tasklog": "",
                            "default-max-keep-runs": "0",
                            "enable-cancel-in-progress-on-pull-requests": "false",
                            "enable-cancel-in-progress-on-push": "false",
                            "error-detection-from-container-logs": "true",
                            "error-detection-max-number-of-lines": "50",
                            "error-detection-simple-regexp": "^(?P\u003cfilename\u003e[^:]*):(?P\u003cline\u003e[0-9]+):(?P\u003ccolumn\u003e[0-9]+)?([ ]*)?(?P\u003cerror\u003e.*)",
                            "error-log-snippet": "true",
                            "hub-catalog-type": "artifacthub",
                            "hub-url": "https://artifacthub.io/api/v1",
                            "max-keep-run-upper-limit": "0",
                            "remember-ok-to-test": "false",
                            "remote-tasks": "true",
                            "secret-auto-create": "true",
                            "secret-github-app-scope-extra-repos": "",
                            "secret-github-app-token-scoped": "true",
                            "skip-push-event-for-pr-commits": "true",
                            "tekton-dashboard-url": ""
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "controller-url": "",
                            "provider": "",
                            "version": "v0.37.7"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Secret",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-webhook-certs",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "ValidatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "validation.pipelinesascode.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "pipelines-as-code-webhook",
                                        "namespace": "openshift-pipelines"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "validation.pipelinesascode.tekton.dev",
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using Stackdriver will incur additional charges.\nmetrics.backend-destination: prometheus\n# metrics.stackdriver-project-id field specifies the Stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used and metrics will be sent to the cluster's project if this field is\n# not provided.\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed\n# to send metrics to Stackdriver using \"global\" resource type and custom\n# metric type. Setting this flag to \"true\" could cause extra Stackdriver\n# charge.  If metrics.backend-destination is not Stackdriver, this is\n# ignored.\nmetrics.allow-stackdriver-custom-metrics: \"false\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-config-observability",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pac-watcher-config-leader-election",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pac-webhook-config-leader-election",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app": "pipelines-as-code-controller",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "http-listener",
                                    "port": 8080,
                                    "protocol": "TCP",
                                    "targetPort": 8082
                                },
                                {
                                    "name": "http-metrics",
                                    "port": 9090,
                                    "protocol": "TCP",
                                    "targetPort": 9090
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "controller",
                                "app.kubernetes.io/part-of": "pipelines-as-code"
                            }
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app": "pipelines-as-code-watcher",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-watcher",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "http-metrics",
                                    "port": 9090,
                                    "protocol": "TCP",
                                    "targetPort": 9090
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "watcher",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "watcher",
                                "app.kubernetes.io/part-of": "pipelines-as-code"
                            }
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "https-webhook",
                                    "port": 443,
                                    "targetPort": 8443
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "webhook",
                                "app.kubernetes.io/part-of": "pipelines-as-code"
                            }
                        }
                    },
                    {
                        "apiVersion": "route.openshift.io/v1",
                        "kind": "Route",
                        "metadata": {
                            "annotations": {
                                "haproxy.router.openshift.io/timeout": "600s"
                            },
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code",
                                "pipelines-as-code/route": "controller"
                            },
                            "name": "pipelines-as-code-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "spec": {
                            "port": {
                                "targetPort": "http-listener"
                            },
                            "tls": {
                                "insecureEdgeTerminationPolicy": "Redirect",
                                "termination": "edge"
                            },
                            "to": {
                                "kind": "Service",
                                "name": "pipelines-as-code-controller",
                                "weight": 100
                            },
                            "wildcardPolicy": "None"
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-monitoring",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "services",
                                    "endpoints",
                                    "pods"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "monitoring.coreos.com/v1",
                        "kind": "ServiceMonitor",
                        "metadata": {
                            "annotations": {
                                "networkoperator.openshift.io/ignore-errors": ""
                            },
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-monitor",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "spec": {
                            "endpoints": [
                                {
                                    "interval": "10s",
                                    "port": "http-metrics"
                                }
                            ],
                            "jobLabel": "app",
                            "namespaceSelector": {
                                "matchNames": [
                                    "openshift-pipelines"
                                ]
                            },
                            "selector": {
                                "matchLabels": {
                                    "app": "pipelines-as-code-watcher"
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "monitoring.coreos.com/v1",
                        "kind": "ServiceMonitor",
                        "metadata": {
                            "annotations": {
                                "networkoperator.openshift.io/ignore-errors": ""
                            },
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7",
                                "operator.tekton.dev/operand-name": "openshift-pipeline-as-code"
                            },
                            "name": "pipelines-as-code-controller-monitor",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "spec": {
                            "endpoints": [
                                {
                                    "interval": "10s",
                                    "port": "http-metrics"
                                }
                            ],
                            "jobLabel": "app",
                            "namespaceSelector": {
                                "matchNames": [
                                    "openshift-pipelines"
                                ]
                            },
                            "selector": {
                                "matchLabels": {
                                    "app": "pipelines-as-code-controller"
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7"
                            },
                            "name": "pipelines-as-code-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "pipelines-as-code-info"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7"
                            },
                            "name": "pipelines-as-code-controller-binding",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "pipelines-as-code-controller-role"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "pipelines-as-code-controller"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7"
                            },
                            "name": "pipelines-as-code-watcher-binding",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "pipelines-as-code-watcher-role"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "pipelines-as-code-watcher"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "app.kubernetes.io/version": "v0.37.7"
                            },
                            "name": "pipelines-as-code-webhook-binding",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "pipelines-as-code-webhook-role"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "pipelines-as-code-webhook"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "name": "pipelines-as-code-monitoring",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "OpenShiftPipelinesAsCode",
                                    "name": "pipelines-as-code",
                                    "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "pipelines-as-code-monitoring"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "prometheus-k8s",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:26Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:25Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:26Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:25Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:26Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:26Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:26Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:26Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:26Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:26Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "53520166e0d0b8b15970d2a4a7016bb4ff49fc7441b502f5f2bf2cae901d6bd3",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:42Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "openshiftpipelinesascode-post-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "OpenShiftPipelinesAsCode",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "post"
                },
                "name": "openshiftpipelinesascode-post-2tzlr",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "OpenShiftPipelinesAsCode",
                        "name": "pipelines-as-code",
                        "uid": "b520d73b-9e65-4956-bb78-58cc1b0c66f4"
                    }
                ],
                "resourceVersion": "23789",
                "uid": "bf0f8a69-fc62-4b98-bfa3-6c3de02171da"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "v1",
                        "data": {
                            "template": "apiVersion: tekton.dev/v1\nkind: PipelineRun\nmetadata:\n  annotations:\n    pipelinesascode.tekton.dev/max-keep-runs: \"5\"\n    pipelinesascode.tekton.dev/on-event: pull_request\n    pipelinesascode.tekton.dev/on-target-branch: main\n    pipelinesascode.tekton.dev/task: git-clone\n  name: pipelinerun-generic\nspec:\n  params:\n  - name: repo_url\n    value: '{{ repo_url }}'\n  - name: revision\n    value: '{{ revision }}'\n  pipelineSpec:\n    params:\n    - name: repo_url\n    - name: revision\n    tasks:\n    - name: fetch-repository\n      params:\n      - name: url\n        value: $(params.repo_url)\n      - name: revision\n        value: $(params.revision)\n      taskRef:\n        name: git-clone\n      workspaces:\n      - name: output\n        workspace: source\n      - name: basic-auth\n        workspace: basic-auth\n    - displayName: Task with no effect\n      name: noop-task\n      runAfter:\n      - fetch-repository\n      taskSpec:\n        steps:\n        - image: registry.access.redhat.com/ubi9/ubi-micro\n          name: noop-task\n          script: |\n            exit 0\n          workingDir: $(workspaces.source.path)\n        workspaces:\n        - name: source\n      workspaces:\n      - name: source\n        workspace: source\n    workspaces:\n    - name: source\n    - name: basic-auth\n  workspaces:\n  - name: source\n    volumeClaimTemplate:\n      spec:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 1Gi\n  - name: basic-auth\n    secret:\n      secretName: '{{ git_auth_secret }}'\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "pipelinesascode.openshift.io/runtime": "generic"
                            },
                            "name": "pipelines-as-code-pipelinerun-generic",
                            "namespace": "openshift"
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "template": "apiVersion: tekton.dev/v1\nkind: PipelineRun\nmetadata:\n  annotations:\n    pipelinesascode.tekton.dev/max-keep-runs: \"5\"\n    pipelinesascode.tekton.dev/on-event: pull_request\n    pipelinesascode.tekton.dev/on-target-branch: main\n    pipelinesascode.tekton.dev/task: git-clone\n    pipelinesascode.tekton.dev/task-1: golangci-lint\n  name: pipelinerun-go\nspec:\n  params:\n  - name: repo_url\n    value: '{{ repo_url }}'\n  - name: revision\n    value: '{{ revision }}'\n  pipelineSpec:\n    params:\n    - name: repo_url\n    - name: revision\n    tasks:\n    - name: fetch-repository\n      params:\n      - name: url\n        value: $(params.repo_url)\n      - name: revision\n        value: $(params.revision)\n      taskRef:\n        name: git-clone\n      workspaces:\n      - name: output\n        workspace: source\n      - name: basic-auth\n        workspace: basic-auth\n    - name: golangci-lint\n      params:\n      - name: package\n        value: .\n      runAfter:\n      - fetch-repository\n      taskRef:\n        name: golangci-lint\n      workspaces:\n      - name: source\n        workspace: source\n    workspaces:\n    - name: source\n    - name: basic-auth\n  workspaces:\n  - name: source\n    volumeClaimTemplate:\n      spec:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 1Gi\n  - name: basic-auth\n    secret:\n      secretName: '{{ git_auth_secret }}'\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "pipelinesascode.openshift.io/runtime": "go"
                            },
                            "name": "pipelines-as-code-pipelinerun-go",
                            "namespace": "openshift"
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "template": "apiVersion: tekton.dev/v1\nkind: PipelineRun\nmetadata:\n  annotations:\n    pipelinesascode.tekton.dev/max-keep-runs: \"5\"\n    pipelinesascode.tekton.dev/on-event: pull_request\n    pipelinesascode.tekton.dev/on-target-branch: main\n    pipelinesascode.tekton.dev/task: git-clone\n    pipelinesascode.tekton.dev/task-1: maven\n  name: pipelinerun-java\nspec:\n  params:\n  - name: repo_url\n    value: '{{ repo_url }}'\n  - name: revision\n    value: '{{ revision }}'\n  pipelineSpec:\n    params:\n    - name: repo_url\n    - name: revision\n    tasks:\n    - name: fetch-repository\n      params:\n      - name: url\n        value: $(params.repo_url)\n      - name: revision\n        value: $(params.revision)\n      taskRef:\n        name: git-clone\n      workspaces:\n      - name: output\n        workspace: source\n      - name: basic-auth\n        workspace: basic-auth\n    - name: maven-test\n      params:\n      - name: GOALS\n        value:\n        - test\n      runAfter:\n      - fetch-repository\n      taskRef:\n        name: maven\n      workspaces:\n      - name: source\n        workspace: source\n      - name: maven-settings\n        workspace: maven-settings\n    workspaces:\n    - name: source\n    - name: basic-auth\n    - name: maven-settings\n  workspaces:\n  - emptyDir: {}\n    name: maven-settings\n  - name: source\n    volumeClaimTemplate:\n      spec:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 1Gi\n  - name: basic-auth\n    secret:\n      secretName: '{{ git_auth_secret }}'\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "pipelinesascode.openshift.io/runtime": "java"
                            },
                            "name": "pipelines-as-code-pipelinerun-java",
                            "namespace": "openshift"
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "template": "apiVersion: tekton.dev/v1\nkind: PipelineRun\nmetadata:\n  annotations:\n    pipelinesascode.tekton.dev/max-keep-runs: \"5\"\n    pipelinesascode.tekton.dev/on-event: pull_request\n    pipelinesascode.tekton.dev/on-target-branch: main\n    pipelinesascode.tekton.dev/task: git-clone\n    pipelinesascode.tekton.dev/task-1: '[npm]'\n  name: pipelinerun-nodejs\nspec:\n  params:\n  - name: repo_url\n    value: '{{ repo_url }}'\n  - name: revision\n    value: '{{ revision }}'\n  pipelineSpec:\n    params:\n    - name: repo_url\n    - name: revision\n    tasks:\n    - name: fetch-repository\n      params:\n      - name: url\n        value: $(params.repo_url)\n      - name: revision\n        value: $(params.revision)\n      taskRef:\n        name: git-clone\n      workspaces:\n      - name: output\n        workspace: source\n      - name: basic-auth\n        workspace: basic-auth\n    - name: run-test\n      params:\n      - name: ARGS\n        value:\n        - test\n      runAfter:\n      - fetch-repository\n      taskRef:\n        name: npm\n      workspaces:\n      - name: source\n        workspace: source\n    workspaces:\n    - name: source\n    - name: basic-auth\n  workspaces:\n  - name: source\n    volumeClaimTemplate:\n      spec:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 1Gi\n  - name: basic-auth\n    secret:\n      secretName: '{{ git_auth_secret }}'\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "pipelinesascode.openshift.io/runtime": "nodejs"
                            },
                            "name": "pipelines-as-code-pipelinerun-nodejs",
                            "namespace": "openshift"
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "template": "apiVersion: tekton.dev/v1\nkind: PipelineRun\nmetadata:\n  annotations:\n    pipelinesascode.tekton.dev/max-keep-runs: \"5\"\n    pipelinesascode.tekton.dev/on-event: pull_request\n    pipelinesascode.tekton.dev/on-target-branch: main\n    pipelinesascode.tekton.dev/task: git-clone\n    pipelinesascode.tekton.dev/task-1: pylint\n  name: pipelinerun-python\nspec:\n  params:\n  - name: repo_url\n    value: '{{ repo_url }}'\n  - name: revision\n    value: '{{ revision }}'\n  pipelineSpec:\n    params:\n    - name: repo_url\n    - name: revision\n    tasks:\n    - name: fetch-repository\n      params:\n      - name: url\n        value: $(params.repo_url)\n      - name: revision\n        value: $(params.revision)\n      taskRef:\n        name: git-clone\n      workspaces:\n      - name: output\n        workspace: source\n      - name: basic-auth\n        workspace: basic-auth\n    - name: pylint\n      runAfter:\n      - fetch-repository\n      taskRef:\n        name: pylint\n      workspaces:\n      - name: source\n        workspace: source\n    workspaces:\n    - name: source\n    - name: basic-auth\n  workspaces:\n  - name: source\n    volumeClaimTemplate:\n      spec:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 1Gi\n  - name: basic-auth\n    secret:\n      secretName: '{{ git_auth_secret }}'\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code",
                                "pipelinesascode.openshift.io/runtime": "python"
                            },
                            "name": "pipelines-as-code-pipelinerun-python",
                            "namespace": "openshift"
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code"
                            },
                            "name": "pipelines-as-code-templates",
                            "namespace": "openshift"
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "pipelines-as-code-go-template",
                                    "pipelines-as-code-java-template",
                                    "pipelines-as-code-nodejs-template",
                                    "pipelines-as-code-python-template"
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get",
                                    "list"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "pipelines-as-code"
                            },
                            "name": "pipelines-as-code-templates",
                            "namespace": "openshift"
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "pipelines-as-code-templates"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:42Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "c64efbe38a79e8ea4853ae628e9f022fbc7f51dc4c077c91210d28d7e799c263",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:12:53Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "pipeline-main-deployment-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonPipeline",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "main"
                },
                "name": "pipeline-main-deployment-mjnd6",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonPipeline",
                        "name": "pipeline",
                        "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                    }
                ],
                "resourceVersion": "20887",
                "uid": "84271b2c-316c-4959-9618-f244d6541c97"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "controller",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "app.kubernetes.io/version": "v1.3.2",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "tekton-pipelines-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "controller",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "controller",
                                    "app.kubernetes.io/part-of": "tekton-pipelines"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-pipelines-controller",
                                        "app.kubernetes.io/component": "controller",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "controller",
                                        "app.kubernetes.io/part-of": "tekton-pipelines",
                                        "app.kubernetes.io/version": "v1.3.2",
                                        "deployment.spec.replicas": "1",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "227b4a8bbc60a9e2d5f1e8c685f84cb2",
                                        "pipeline.tekton.dev/release": "v1.3.2",
                                        "version": "v1.3.2"
                                    }
                                },
                                "spec": {
                                    "affinity": {
                                        "nodeAffinity": {
                                            "requiredDuringSchedulingIgnoredDuringExecution": {
                                                "nodeSelectorTerms": [
                                                    {
                                                        "matchExpressions": [
                                                            {
                                                                "key": "kubernetes.io/os",
                                                                "operator": "NotIn",
                                                                "values": [
                                                                    "windows"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "podAntiAffinity": {
                                            "preferredDuringSchedulingIgnoredDuringExecution": [
                                                {
                                                    "podAffinityTerm": {
                                                        "labelSelector": {
                                                            "matchLabels": {
                                                                "app.kubernetes.io/component": "controller",
                                                                "app.kubernetes.io/instance": "default",
                                                                "app.kubernetes.io/name": "controller",
                                                                "app.kubernetes.io/part-of": "tekton-pipelines"
                                                            }
                                                        },
                                                        "topologyKey": "kubernetes.io/hostname"
                                                    },
                                                    "weight": 100
                                                }
                                            ]
                                        }
                                    },
                                    "containers": [
                                        {
                                            "args": [
                                                "-entrypoint-image",
                                                "registry.redhat.io/openshift-pipelines/pipelines-entrypoint-rhel9@sha256:a91d7a109855f7ca7d74557adf55cd09155f99715d7408c94e4f90337d7964c7",
                                                "-nop-image",
                                                "registry.redhat.io/openshift-pipelines/pipelines-nop-rhel9@sha256:259c6aa469fcff9577eae9fee294eb0143010d68528de2f3b2b21cf523432986",
                                                "-sidecarlogresults-image",
                                                "registry.redhat.io/openshift-pipelines/pipelines-sidecarlogresults-rhel9@sha256:eeac6c2ff2f2acc2724d7786dd6bc5341cf7dce57b070bce113985810b45e1e5",
                                                "-workingdirinit-image",
                                                "registry.redhat.io/openshift-pipelines/pipelines-workingdirinit-rhel9@sha256:ee91c1719f5ec30aa2214ddfe2b2456819ce5cbfbab9bd958b18aa90fb6baf82",
                                                "-shell-image",
                                                "registry.redhat.io/openshift-pipelines/pipelines-entrypoint-rhel9@sha256:a91d7a109855f7ca7d74557adf55cd09155f99715d7408c94e4f90337d7964c7",
                                                "-shell-image-win",
                                                "mcr.microsoft.com/powershell:nanoserver@sha256:b6d5ff841b78bdf2dfed7550000fd4f3437385b8fa686ec0f010be24777654d6",
                                                "-disable-ha=false"
                                            ],
                                            "env": [
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "CONFIG_DEFAULTS_NAME",
                                                    "value": "config-defaults"
                                                },
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "config-logging"
                                                },
                                                {
                                                    "name": "CONFIG_OBSERVABILITY_NAME",
                                                    "value": "config-observability"
                                                },
                                                {
                                                    "name": "CONFIG_FEATURE_FLAGS_NAME",
                                                    "value": "feature-flags"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "config-leader-election-controller"
                                                },
                                                {
                                                    "name": "CONFIG_SPIRE",
                                                    "value": "config-spire"
                                                },
                                                {
                                                    "name": "SSL_CERT_FILE",
                                                    "value": "/etc/config-registry-cert/cert"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/etc/ssl/certs"
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/pipeline"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-controller-rhel9@sha256:4847fc1483c03d570e5dced72df4a479c39e4bdf0dd76666c35c5d4de2acfcb7",
                                            "livenessProbe": {
                                                "httpGet": {
                                                    "path": "/health",
                                                    "port": "probes",
                                                    "scheme": "HTTP"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10,
                                                "timeoutSeconds": 5
                                            },
                                            "name": "tekton-pipelines-controller",
                                            "ports": [
                                                {
                                                    "containerPort": 9090,
                                                    "name": "metrics"
                                                },
                                                {
                                                    "containerPort": 8008,
                                                    "name": "profiling"
                                                },
                                                {
                                                    "containerPort": 8080,
                                                    "name": "probes"
                                                }
                                            ],
                                            "readinessProbe": {
                                                "httpGet": {
                                                    "path": "/readiness",
                                                    "port": "probes",
                                                    "scheme": "HTTP"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10,
                                                "timeoutSeconds": 5
                                            },
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true,
                                                "runAsGroup": 65532,
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/etc/config-logging",
                                                    "name": "config-logging"
                                                },
                                                {
                                                    "mountPath": "/etc/config-registry-cert",
                                                    "name": "config-registry-cert"
                                                },
                                                {
                                                    "mountPath": "/etc/ssl/certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/ssl/certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-pipelines-controller",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "name": "config-logging"
                                            },
                                            "name": "config-logging"
                                        },
                                        {
                                            "configMap": {
                                                "name": "config-registry-cert"
                                            },
                                            "name": "config-registry-cert"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app": "tekton-pipelines-controller",
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "controller",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "app.kubernetes.io/version": "v1.3.2",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "tekton-pipelines-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "http-metrics",
                                    "port": 9090,
                                    "protocol": "TCP",
                                    "targetPort": 9090
                                },
                                {
                                    "name": "http-profiling",
                                    "port": 8008,
                                    "targetPort": 8008
                                },
                                {
                                    "name": "probes",
                                    "port": 8080
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "controller",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            }
                        }
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "events",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "events",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "app.kubernetes.io/version": "v1.3.2",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "tekton-events-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "events",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "events",
                                    "app.kubernetes.io/part-of": "tekton-pipelines"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-events-controller",
                                        "app.kubernetes.io/component": "events",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "events",
                                        "app.kubernetes.io/part-of": "tekton-pipelines",
                                        "app.kubernetes.io/version": "v1.3.2",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "03ed0f1f19521a2a794f7611a8df1da9",
                                        "pipeline.tekton.dev/release": "v1.3.2",
                                        "version": "v1.3.2"
                                    }
                                },
                                "spec": {
                                    "affinity": {
                                        "nodeAffinity": {
                                            "requiredDuringSchedulingIgnoredDuringExecution": {
                                                "nodeSelectorTerms": [
                                                    {
                                                        "matchExpressions": [
                                                            {
                                                                "key": "kubernetes.io/os",
                                                                "operator": "NotIn",
                                                                "values": [
                                                                    "windows"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "containers": [
                                        {
                                            "env": [
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "CONFIG_DEFAULTS_NAME",
                                                    "value": "config-defaults"
                                                },
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "config-logging"
                                                },
                                                {
                                                    "name": "CONFIG_OBSERVABILITY_NAME",
                                                    "value": "config-observability"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "config-leader-election-events"
                                                },
                                                {
                                                    "name": "SSL_CERT_FILE",
                                                    "value": "/etc/config-registry-cert/cert"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/etc/ssl/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-events-rhel9@sha256:ada1a963ce2c45d2bba08051c1e0e2db88b200e9d616fab8fde10b698101fc69",
                                            "livenessProbe": {
                                                "httpGet": {
                                                    "path": "/health",
                                                    "port": "probes",
                                                    "scheme": "HTTP"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10,
                                                "timeoutSeconds": 5
                                            },
                                            "name": "tekton-events-controller",
                                            "ports": [
                                                {
                                                    "containerPort": 9090,
                                                    "name": "metrics"
                                                },
                                                {
                                                    "containerPort": 8008,
                                                    "name": "profiling"
                                                },
                                                {
                                                    "containerPort": 8080,
                                                    "name": "probes"
                                                }
                                            ],
                                            "readinessProbe": {
                                                "httpGet": {
                                                    "path": "/readiness",
                                                    "port": "probes",
                                                    "scheme": "HTTP"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10,
                                                "timeoutSeconds": 5
                                            },
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true,
                                                "runAsGroup": 65532,
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/etc/config-logging",
                                                    "name": "config-logging"
                                                },
                                                {
                                                    "mountPath": "/etc/config-registry-cert",
                                                    "name": "config-registry-cert"
                                                },
                                                {
                                                    "mountPath": "/etc/ssl/certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/ssl/certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-events-controller",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "name": "config-logging"
                                            },
                                            "name": "config-logging"
                                        },
                                        {
                                            "configMap": {
                                                "name": "config-registry-cert"
                                            },
                                            "name": "config-registry-cert"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app": "tekton-events-controller",
                                "app.kubernetes.io/component": "events",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "events",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "app.kubernetes.io/version": "v1.3.2",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "tekton-events-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "http-metrics",
                                    "port": 9090,
                                    "protocol": "TCP",
                                    "targetPort": 9090
                                },
                                {
                                    "name": "http-profiling",
                                    "port": 8008,
                                    "targetPort": 8008
                                },
                                {
                                    "name": "probes",
                                    "port": 8080
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "events",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "events",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            }
                        }
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "resolvers",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "app.kubernetes.io/version": "v1.3.2",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "tekton-pipelines-remote-resolvers",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "resolvers",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "resolvers",
                                    "app.kubernetes.io/part-of": "tekton-pipelines"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-pipelines-resolvers",
                                        "app.kubernetes.io/component": "resolvers",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "resolvers",
                                        "app.kubernetes.io/part-of": "tekton-pipelines",
                                        "app.kubernetes.io/version": "v1.3.2",
                                        "deployment.spec.replicas": "1",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "a9097ed402c8a815931615d277cbf211",
                                        "pipeline.tekton.dev/release": "v1.3.2",
                                        "version": "v1.3.2"
                                    }
                                },
                                "spec": {
                                    "affinity": {
                                        "nodeAffinity": {
                                            "requiredDuringSchedulingIgnoredDuringExecution": {
                                                "nodeSelectorTerms": [
                                                    {
                                                        "matchExpressions": [
                                                            {
                                                                "key": "kubernetes.io/os",
                                                                "operator": "NotIn",
                                                                "values": [
                                                                    "windows"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "podAntiAffinity": {
                                            "preferredDuringSchedulingIgnoredDuringExecution": [
                                                {
                                                    "podAffinityTerm": {
                                                        "labelSelector": {
                                                            "matchLabels": {
                                                                "app.kubernetes.io/component": "resolvers",
                                                                "app.kubernetes.io/instance": "default",
                                                                "app.kubernetes.io/name": "resolvers",
                                                                "app.kubernetes.io/part-of": "tekton-pipelines"
                                                            }
                                                        },
                                                        "topologyKey": "kubernetes.io/hostname"
                                                    },
                                                    "weight": 100
                                                }
                                            ]
                                        }
                                    },
                                    "containers": [
                                        {
                                            "command": [
                                                "/sbin/tini",
                                                "--",
                                                "/ko-app/resolvers"
                                            ],
                                            "env": [
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "config-logging"
                                                },
                                                {
                                                    "name": "CONFIG_OBSERVABILITY_NAME",
                                                    "value": "config-observability"
                                                },
                                                {
                                                    "name": "CONFIG_FEATURE_FLAGS_NAME",
                                                    "value": "feature-flags"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "config-leader-election-resolvers"
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/resolution"
                                                },
                                                {
                                                    "name": "PROBES_PORT",
                                                    "value": "8080"
                                                },
                                                {
                                                    "name": "TEKTON_HUB_API"
                                                },
                                                {
                                                    "name": "ARTIFACT_HUB_API",
                                                    "value": "https://artifacthub.io/"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-resolvers-rhel9@sha256:c6e1e725e260dd02e6ae4c9dad5ea8249d0ffd164950d75700db612a7e06ac2c",
                                            "name": "controller",
                                            "ports": [
                                                {
                                                    "containerPort": 9090,
                                                    "name": "metrics"
                                                },
                                                {
                                                    "containerPort": 8008,
                                                    "name": "profiling"
                                                },
                                                {
                                                    "containerPort": 8080,
                                                    "name": "probes"
                                                }
                                            ],
                                            "resources": {
                                                "limits": {
                                                    "cpu": "1",
                                                    "memory": "4Gi"
                                                },
                                                "requests": {
                                                    "cpu": "100m",
                                                    "memory": "100Mi"
                                                }
                                            },
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true,
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/tmp",
                                                    "name": "tmp-clone-volume"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-pipelines-resolvers",
                                    "volumes": [
                                        {
                                            "emptyDir": {
                                                "sizeLimit": "4Gi"
                                            },
                                            "name": "tmp-clone-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app": "tekton-pipelines-remote-resolvers",
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "resolvers",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "app.kubernetes.io/version": "v1.3.2",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "tekton-pipelines-remote-resolvers",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "http-metrics",
                                    "port": 9090,
                                    "protocol": "TCP",
                                    "targetPort": 9090
                                },
                                {
                                    "name": "http-profiling",
                                    "port": 8008,
                                    "targetPort": 8008
                                },
                                {
                                    "name": "probes",
                                    "port": 8080
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "resolvers",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            }
                        }
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "webhook",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "app.kubernetes.io/version": "v1.3.2",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "tekton-pipelines-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "webhook",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "webhook",
                                    "app.kubernetes.io/part-of": "tekton-pipelines"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-pipelines-webhook",
                                        "app.kubernetes.io/component": "webhook",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "webhook",
                                        "app.kubernetes.io/part-of": "tekton-pipelines",
                                        "app.kubernetes.io/version": "v1.3.2",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "148328e2520532b64130b102d9b00d55",
                                        "pipeline.tekton.dev/release": "v1.3.2",
                                        "version": "v1.3.2"
                                    }
                                },
                                "spec": {
                                    "affinity": {
                                        "nodeAffinity": {
                                            "requiredDuringSchedulingIgnoredDuringExecution": {
                                                "nodeSelectorTerms": [
                                                    {
                                                        "matchExpressions": [
                                                            {
                                                                "key": "kubernetes.io/os",
                                                                "operator": "NotIn",
                                                                "values": [
                                                                    "windows"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "podAntiAffinity": {
                                            "preferredDuringSchedulingIgnoredDuringExecution": [
                                                {
                                                    "podAffinityTerm": {
                                                        "labelSelector": {
                                                            "matchLabels": {
                                                                "app.kubernetes.io/component": "webhook",
                                                                "app.kubernetes.io/instance": "default",
                                                                "app.kubernetes.io/name": "webhook",
                                                                "app.kubernetes.io/part-of": "tekton-pipelines"
                                                            }
                                                        },
                                                        "topologyKey": "kubernetes.io/hostname"
                                                    },
                                                    "weight": 100
                                                }
                                            ]
                                        }
                                    },
                                    "containers": [
                                        {
                                            "env": [
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "config-logging"
                                                },
                                                {
                                                    "name": "CONFIG_OBSERVABILITY_NAME",
                                                    "value": "config-observability"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "config-leader-election-webhook"
                                                },
                                                {
                                                    "name": "CONFIG_FEATURE_FLAGS_NAME",
                                                    "value": "feature-flags"
                                                },
                                                {
                                                    "name": "PROBES_PORT",
                                                    "value": "8080"
                                                },
                                                {
                                                    "name": "WEBHOOK_PORT",
                                                    "value": "8443"
                                                },
                                                {
                                                    "name": "WEBHOOK_ADMISSION_CONTROLLER_NAME",
                                                    "value": "webhook.pipeline.tekton.dev"
                                                },
                                                {
                                                    "name": "WEBHOOK_SERVICE_NAME",
                                                    "value": "tekton-pipelines-webhook"
                                                },
                                                {
                                                    "name": "WEBHOOK_SECRET_NAME",
                                                    "value": "webhook-certs"
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/pipeline"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-webhook-rhel9@sha256:2c4ec0dfd62375ed45d5758798b1069e16a0a6d1986439d23c61591c4dfb9297",
                                            "livenessProbe": {
                                                "httpGet": {
                                                    "path": "/health",
                                                    "port": "probes",
                                                    "scheme": "HTTP"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10,
                                                "timeoutSeconds": 5
                                            },
                                            "name": "webhook",
                                            "ports": [
                                                {
                                                    "containerPort": 9090,
                                                    "name": "metrics"
                                                },
                                                {
                                                    "containerPort": 8008,
                                                    "name": "profiling"
                                                },
                                                {
                                                    "containerPort": 8443,
                                                    "name": "https-webhook"
                                                },
                                                {
                                                    "containerPort": 8080,
                                                    "name": "probes"
                                                }
                                            ],
                                            "readinessProbe": {
                                                "httpGet": {
                                                    "path": "/readiness",
                                                    "port": "probes",
                                                    "scheme": "HTTP"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10,
                                                "timeoutSeconds": 5
                                            },
                                            "resources": {
                                                "limits": {
                                                    "cpu": "500m",
                                                    "memory": "500Mi"
                                                },
                                                "requests": {
                                                    "cpu": "100m",
                                                    "memory": "100Mi"
                                                }
                                            },
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true,
                                                "runAsGroup": 65532,
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-pipelines-webhook",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app": "tekton-pipelines-webhook",
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "webhook",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "app.kubernetes.io/version": "v1.3.2",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "tekton-pipelines-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "http-metrics",
                                    "port": 9090,
                                    "targetPort": "metrics"
                                },
                                {
                                    "name": "http-profiling",
                                    "port": 8008,
                                    "targetPort": "profiling"
                                },
                                {
                                    "name": "https-webhook",
                                    "port": 443,
                                    "targetPort": "https-webhook"
                                },
                                {
                                    "name": "probes",
                                    "port": 8080,
                                    "targetPort": "probes"
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "webhook",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            }
                        }
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "operator.tekton.dev/release": "devel",
                                "version": "devel"
                            },
                            "name": "tekton-operator-proxy-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "name": "tekton-operator"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-operator",
                                        "name": "tekton-operator",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "5b4925ee99eaba275c9f32803de42274"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "env": [
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "WEBHOOK_SERVICE_NAME",
                                                    "value": "tekton-operator-proxy-webhook"
                                                },
                                                {
                                                    "name": "WEBHOOK_SECRET_NAME",
                                                    "value": "proxy-webhook-certs"
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/operator"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "tekton-operator-proxy-webhook-config-leader-election"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-operator-proxy-rhel9@sha256:82ba22161e8f0fc959429029d26d9a32f39a701f0db68291626ee1464715f582",
                                            "name": "proxy",
                                            "ports": [
                                                {
                                                    "containerPort": 8443,
                                                    "name": "https-webhook"
                                                }
                                            ],
                                            "resources": {
                                                "limits": {
                                                    "cpu": "500m",
                                                    "memory": "500Mi"
                                                },
                                                "requests": {
                                                    "cpu": "100m",
                                                    "memory": "100Mi"
                                                }
                                            },
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-operators-proxy-webhook",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "operator.tekton.dev/release": "devel",
                                "version": "devel"
                            },
                            "name": "tekton-operator-proxy-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "https-webhook",
                                    "port": 443,
                                    "targetPort": 8443
                                }
                            ],
                            "selector": {
                                "name": "tekton-operator"
                            }
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:13:11Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:53Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:11Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:53Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:54Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:54Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:54Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:11Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:54Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:11Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "c64efbe38a79e8ea4853ae628e9f022fbc7f51dc4c077c91210d28d7e799c263",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:12:47Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "pipeline-main-static-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonPipeline",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "main"
                },
                "name": "pipeline-main-static-2v6gz",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonPipeline",
                        "name": "pipeline",
                        "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                    }
                ],
                "resourceVersion": "20479",
                "uid": "f22f5750-f8a3-4501-9674-ad83184d77cc"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-controller-cluster-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "pods"
                                ],
                                "verbs": [
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "nodes"
                                ],
                                "verbs": [
                                    "list"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks",
                                    "taskruns",
                                    "pipelines",
                                    "pipelineruns",
                                    "customruns",
                                    "stepactions"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "verificationpolicies"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "taskruns/finalizers",
                                    "pipelineruns/finalizers",
                                    "customruns/finalizers"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks/status",
                                    "taskruns/status",
                                    "pipelines/status",
                                    "pipelineruns/status",
                                    "customruns/status",
                                    "verificationpolicies/status",
                                    "stepactions/status"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "resolution.tekton.dev"
                                ],
                                "resources": [
                                    "resolutionrequests",
                                    "resolutionrequests/status"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-controller-tenant-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "pods",
                                    "persistentvolumeclaims"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "events"
                                ],
                                "verbs": [
                                    "create",
                                    "update",
                                    "patch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps",
                                    "limitranges",
                                    "secrets",
                                    "serviceaccounts"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "apps"
                                ],
                                "resources": [
                                    "statefulsets"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-webhook-cluster-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "apiextensions.k8s.io"
                                ],
                                "resourceNames": [
                                    "pipelines.tekton.dev",
                                    "pipelineruns.tekton.dev",
                                    "tasks.tekton.dev",
                                    "taskruns.tekton.dev",
                                    "resolutionrequests.resolution.tekton.dev",
                                    "customruns.tekton.dev",
                                    "verificationpolicies.tekton.dev",
                                    "stepactions.tekton.dev"
                                ],
                                "resources": [
                                    "customresourcedefinitions",
                                    "customresourcedefinitions/status"
                                ],
                                "verbs": [
                                    "get",
                                    "update",
                                    "patch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "apiextensions.k8s.io"
                                ],
                                "resources": [
                                    "customresourcedefinitions"
                                ],
                                "verbs": [
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "admissionregistration.k8s.io"
                                ],
                                "resources": [
                                    "mutatingwebhookconfigurations",
                                    "validatingwebhookconfigurations"
                                ],
                                "verbs": [
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "admissionregistration.k8s.io"
                                ],
                                "resourceNames": [
                                    "webhook.pipeline.tekton.dev"
                                ],
                                "resources": [
                                    "mutatingwebhookconfigurations"
                                ],
                                "verbs": [
                                    "get",
                                    "update",
                                    "delete"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "admissionregistration.k8s.io"
                                ],
                                "resourceNames": [
                                    "validation.webhook.pipeline.tekton.dev",
                                    "config.webhook.pipeline.tekton.dev"
                                ],
                                "resources": [
                                    "validatingwebhookconfigurations"
                                ],
                                "verbs": [
                                    "get",
                                    "update",
                                    "delete"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "openshift-pipelines"
                                ],
                                "resources": [
                                    "namespaces"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "openshift-pipelines"
                                ],
                                "resources": [
                                    "namespaces/finalizers"
                                ],
                                "verbs": [
                                    "update"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "events",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-events-controller-cluster-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks",
                                    "taskruns",
                                    "pipelines",
                                    "pipelineruns",
                                    "customruns"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "config-logging",
                                    "config-observability",
                                    "feature-flags",
                                    "config-leader-election-controller",
                                    "config-registry-cert"
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "config-logging",
                                    "config-observability",
                                    "config-leader-election-webhook",
                                    "feature-flags"
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "webhook-certs"
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "get",
                                    "update"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "events",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-events-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "config-logging",
                                    "config-observability",
                                    "feature-flags",
                                    "config-leader-election-events",
                                    "config-registry-cert"
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-leader-election",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "coordination.k8s.io"
                                ],
                                "resources": [
                                    "leases"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "pipelines-info"
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "events",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-events-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-controller-cluster-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-pipelines-controller-cluster-access"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-pipelines-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-controller-tenant-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-pipelines-controller-tenant-access"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-pipelines-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-webhook-cluster-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-pipelines-webhook-cluster-access"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-pipelines-webhook",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "events",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-events-controller-cluster-access",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-events-controller-cluster-access"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-events-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "customruns.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "group": "tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-pipelines"
                                ],
                                "kind": "CustomRun",
                                "plural": "customruns",
                                "singular": "customrun"
                            },
                            "preserveUnknownFields": false,
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "additionalPrinterColumns": [
                                        {
                                            "jsonPath": ".status.conditions[?(@.type==\"Succeeded\")].status",
                                            "name": "Succeeded",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type==\"Succeeded\")].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.startTime",
                                            "name": "StartTime",
                                            "type": "date"
                                        },
                                        {
                                            "jsonPath": ".status.completionTime",
                                            "name": "CompletionTime",
                                            "type": "date"
                                        }
                                    ],
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "CustomRun represents a single execution of a Custom Task.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "CustomRunSpec defines the desired state of CustomRun",
                                                    "properties": {
                                                        "customRef": {
                                                            "description": "TaskRef can be used to refer to a specific instance of a task.",
                                                            "properties": {
                                                                "apiVersion": {
                                                                    "description": "API version of the referent\nNote: A Task with non-empty APIVersion and Kind is considered a Custom Task",
                                                                    "type": "string"
                                                                },
                                                                "bundle": {
                                                                    "description": "Bundle url reference to a Tekton Bundle.\n\nDeprecated: Please use ResolverRef with the bundles resolver instead.\nThe field is staying there for go client backward compatibility, but is not used/allowed anymore.",
                                                                    "type": "string"
                                                                },
                                                                "kind": {
                                                                    "description": "TaskKind indicates the Kind of the Task:\n1. Namespaced Task when Kind is set to \"Task\". If Kind is \"\", it defaults to \"Task\".\n2. Custom Task when Kind is non-empty and APIVersion is non-empty",
                                                                    "type": "string"
                                                                },
                                                                "name": {
                                                                    "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                    "type": "string"
                                                                },
                                                                "params": {
                                                                    "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                    "items": {
                                                                        "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name",
                                                                            "value"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "resolver": {
                                                                    "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "customSpec": {
                                                            "description": "Spec is a specification of a custom task",
                                                            "properties": {
                                                                "apiVersion": {
                                                                    "type": "string"
                                                                },
                                                                "kind": {
                                                                    "type": "string"
                                                                },
                                                                "metadata": {
                                                                    "description": "PipelineTaskMetadata contains the labels or annotations for an EmbeddedTask",
                                                                    "properties": {
                                                                        "annotations": {
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "labels": {
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "object"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "spec": {
                                                                    "description": "Spec is a specification of a custom task",
                                                                    "type": "object",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "params": {
                                                            "description": "Params is a list of Param",
                                                            "items": {
                                                                "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                "properties": {
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "retries": {
                                                            "description": "Used for propagating retries count to custom tasks",
                                                            "type": "integer"
                                                        },
                                                        "serviceAccountName": {
                                                            "type": "string"
                                                        },
                                                        "status": {
                                                            "description": "Used for cancelling a customrun (and maybe more later on)",
                                                            "type": "string"
                                                        },
                                                        "statusMessage": {
                                                            "description": "Status message for cancellation.",
                                                            "type": "string"
                                                        },
                                                        "timeout": {
                                                            "description": "Time after which the custom-task times out.\nRefer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration",
                                                            "type": "string"
                                                        },
                                                        "workspaces": {
                                                            "description": "Workspaces is a list of WorkspaceBindings from volumes to workspaces.",
                                                            "items": {
                                                                "description": "WorkspaceBinding maps a Task's declared workspace to a Volume.",
                                                                "properties": {
                                                                    "configMap": {
                                                                        "description": "ConfigMap represents a configMap that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode is optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDefaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "items": {
                                                                                "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                "items": {
                                                                                    "description": "Maps a string key to a path within a volume.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "description": "key is the key to project.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mode": {
                                                                                            "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "path"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "name": {
                                                                                "default": "",
                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                "type": "string"
                                                                            },
                                                                            "optional": {
                                                                                "description": "optional specify whether the ConfigMap or its keys must be defined",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "type": "object",
                                                                        "x-kubernetes-map-type": "atomic"
                                                                    },
                                                                    "csi": {
                                                                        "description": "CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.",
                                                                        "properties": {
                                                                            "driver": {
                                                                                "description": "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster.",
                                                                                "type": "string"
                                                                            },
                                                                            "fsType": {
                                                                                "description": "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply.",
                                                                                "type": "string"
                                                                            },
                                                                            "nodePublishSecretRef": {
                                                                                "description": "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and  may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write).",
                                                                                "type": "boolean"
                                                                            },
                                                                            "volumeAttributes": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "description": "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values.",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "driver"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "emptyDir": {
                                                                        "description": "EmptyDir represents a temporary directory that shares a Task's lifetime.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir\nEither this OR PersistentVolumeClaim can be used.",
                                                                        "properties": {
                                                                            "medium": {
                                                                                "description": "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
                                                                                "type": "string"
                                                                            },
                                                                            "sizeLimit": {
                                                                                "anyOf": [
                                                                                    {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ],
                                                                                "description": "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                "x-kubernetes-int-or-string": true
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of the workspace populated by the volume.",
                                                                        "type": "string"
                                                                    },
                                                                    "persistentVolumeClaim": {
                                                                        "description": "PersistentVolumeClaimVolumeSource represents a reference to a\nPersistentVolumeClaim in the same namespace. Either this OR EmptyDir can be used.",
                                                                        "properties": {
                                                                            "claimName": {
                                                                                "description": "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false.",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "claimName"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "projected": {
                                                                        "description": "Projected represents a projected volume that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode are the mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "sources": {
                                                                                "description": "sources is the list of volume projections. Each entry in this list\nhandles one source.",
                                                                                "items": {
                                                                                    "description": "Projection that may be projected along with other supported volume types.\nExactly one of these fields must be set.",
                                                                                    "properties": {
                                                                                        "clusterTrustBundle": {
                                                                                            "description": "ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field\nof ClusterTrustBundle objects in an auto-updating file.\n\nAlpha, gated by the ClusterTrustBundleProjection feature gate.\n\nClusterTrustBundle objects can either be selected by name, or by the\ncombination of signer name and a label selector.\n\nKubelet performs aggressive normalization of the PEM contents written\ninto the pod filesystem.  Esoteric PEM features such as inter-block\ncomments and block headers are stripped.  Certificates are deduplicated.\nThe ordering of certificates within the file is arbitrary, and Kubelet\nmay change the order over time.",
                                                                                            "properties": {
                                                                                                "labelSelector": {
                                                                                                    "description": "Select all ClusterTrustBundles that match this label selector.  Only has\neffect if signerName is set.  Mutually-exclusive with name.  If unset,\ninterpreted as \"match nothing\".  If set but empty, interpreted as \"match\neverything\".",
                                                                                                    "properties": {
                                                                                                        "matchExpressions": {
                                                                                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                                            "items": {
                                                                                                                "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                                                "properties": {
                                                                                                                    "key": {
                                                                                                                        "description": "key is the label key that the selector applies to.",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "operator": {
                                                                                                                        "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "values": {
                                                                                                                        "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                                        "items": {
                                                                                                                            "type": "string"
                                                                                                                        },
                                                                                                                        "type": "array",
                                                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "key",
                                                                                                                    "operator"
                                                                                                                ],
                                                                                                                "type": "object"
                                                                                                            },
                                                                                                            "type": "array",
                                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                                        },
                                                                                                        "matchLabels": {
                                                                                                            "additionalProperties": {
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                                            "type": "object"
                                                                                                        }
                                                                                                    },
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "description": "Select a single ClusterTrustBundle by object name.  Mutually-exclusive\nwith signerName and labelSelector.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "If true, don't block pod startup if the referenced ClusterTrustBundle(s)\naren't available.  If using name, then the named ClusterTrustBundle is\nallowed not to exist.  If using signerName, then the combination of\nsignerName and labelSelector is allowed to match zero\nClusterTrustBundles.",
                                                                                                    "type": "boolean"
                                                                                                },
                                                                                                "path": {
                                                                                                    "description": "Relative path from the volume root to write the bundle.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "signerName": {
                                                                                                    "description": "Select all ClusterTrustBundles that match this signer name.\nMutually-exclusive with name.  The contents of all selected\nClusterTrustBundles will be unified and deduplicated.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "path"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "configMap": {
                                                                                            "description": "configMap information about the configMap data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                                    "items": {
                                                                                                        "description": "Maps a string key to a path within a volume.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the key to project.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "optional specify whether the ConfigMap or its keys must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "downwardAPI": {
                                                                                            "description": "downwardAPI information about the downwardAPI data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "Items is a list of DownwardAPIVolume file",
                                                                                                    "items": {
                                                                                                        "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field",
                                                                                                        "properties": {
                                                                                                            "fieldRef": {
                                                                                                                "description": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.",
                                                                                                                "properties": {
                                                                                                                    "apiVersion": {
                                                                                                                        "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "fieldPath": {
                                                                                                                        "description": "Path of the field to select in the specified API version.",
                                                                                                                        "type": "string"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "fieldPath"
                                                                                                                ],
                                                                                                                "type": "object",
                                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "Required: Path is  the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "resourceFieldRef": {
                                                                                                                "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.",
                                                                                                                "properties": {
                                                                                                                    "containerName": {
                                                                                                                        "description": "Container name: required for volumes, optional for env vars",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "divisor": {
                                                                                                                        "anyOf": [
                                                                                                                            {
                                                                                                                                "type": "integer"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "type": "string"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                                    },
                                                                                                                    "resource": {
                                                                                                                        "description": "Required: resource to select",
                                                                                                                        "type": "string"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "resource"
                                                                                                                ],
                                                                                                                "type": "object",
                                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "secret": {
                                                                                            "description": "secret information about the secret data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                                    "items": {
                                                                                                        "description": "Maps a string key to a path within a volume.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the key to project.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "optional field specify whether the Secret or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "serviceAccountToken": {
                                                                                            "description": "serviceAccountToken is information about the serviceAccountToken data to project",
                                                                                            "properties": {
                                                                                                "audience": {
                                                                                                    "description": "audience is the intended audience of the token. A recipient of a token\nmust identify itself with an identifier specified in the audience of the\ntoken, and otherwise should reject the token. The audience defaults to the\nidentifier of the apiserver.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "expirationSeconds": {
                                                                                                    "description": "expirationSeconds is the requested duration of validity of the service\naccount token. As the token approaches expiration, the kubelet volume\nplugin will proactively rotate the service account token. The kubelet will\nstart trying to rotate the token if the token is older than 80 percent of\nits time to live or if the token is older than 24 hours.Defaults to 1 hour\nand must be at least 10 minutes.",
                                                                                                    "format": "int64",
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                "path": {
                                                                                                    "description": "path is the path relative to the mount point of the file to project the\ntoken into.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "path"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "secret": {
                                                                        "description": "Secret represents a secret that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode is Optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values\nfor mode bits. Defaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "items": {
                                                                                "description": "items If unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                "items": {
                                                                                    "description": "Maps a string key to a path within a volume.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "description": "key is the key to project.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mode": {
                                                                                            "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "path"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "optional": {
                                                                                "description": "optional field specify whether the Secret or its keys must be defined",
                                                                                "type": "boolean"
                                                                            },
                                                                            "secretName": {
                                                                                "description": "secretName is the name of the secret in the pod's namespace to use.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "subPath": {
                                                                        "description": "SubPath is optionally a directory on the volume which should be used\nfor this binding (i.e. the volume will be mounted at this sub directory).",
                                                                        "type": "string"
                                                                    },
                                                                    "volumeClaimTemplate": {
                                                                        "description": "VolumeClaimTemplate is a template for a claim that will be created in the same namespace.\nThe PipelineRun controller is responsible for creating a unique claim for each instance of PipelineRun.\nSee PersistentVolumeClaim (API version: v1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "status": {
                                                    "description": "CustomRunStatus defines the observed state of CustomRun",
                                                    "properties": {
                                                        "annotations": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
                                                            "type": "object"
                                                        },
                                                        "completionTime": {
                                                            "description": "CompletionTime is the time the build completed.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "conditions": {
                                                            "description": "Conditions the latest available observations of a resource's current state.",
                                                            "items": {
                                                                "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
                                                                "properties": {
                                                                    "lastTransitionTime": {
                                                                        "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                                                                        "type": "string"
                                                                    },
                                                                    "message": {
                                                                        "description": "A human readable message indicating details about the transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "reason": {
                                                                        "description": "The reason for the condition's last transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "severity": {
                                                                        "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                                                                        "type": "string"
                                                                    },
                                                                    "status": {
                                                                        "description": "Status of the condition, one of True, False, Unknown.",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type of condition.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "status",
                                                                    "type"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "extraFields": {
                                                            "description": "ExtraFields holds arbitrary fields provided by the custom task\ncontroller.",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "observedGeneration": {
                                                            "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
                                                            "format": "int64",
                                                            "type": "integer"
                                                        },
                                                        "results": {
                                                            "description": "Results reports any output result values to be consumed by later\ntasks in a pipeline.",
                                                            "items": {
                                                                "description": "CustomRunResult used to describe the results of a task",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name the given name",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Value the given value of the result",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "retriesStatus": {
                                                            "description": "RetriesStatus contains the history of CustomRunStatus, in case of a retry.\nSee CustomRun.status (API version: tekton.dev/v1beta1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "startTime": {
                                                            "description": "StartTime is the time the build is actually started.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "pipelines.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "conversion": {
                                "strategy": "Webhook",
                                "webhook": {
                                    "clientConfig": {
                                        "service": {
                                            "name": "tekton-pipelines-webhook",
                                            "namespace": "openshift-pipelines"
                                        }
                                    },
                                    "conversionReviewVersions": [
                                        "v1beta1",
                                        "v1"
                                    ]
                                }
                            },
                            "group": "tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-pipelines"
                                ],
                                "kind": "Pipeline",
                                "plural": "pipelines",
                                "singular": "pipeline"
                            },
                            "preserveUnknownFields": false,
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "Pipeline describes a list of Tasks to execute. It expresses how outputs\nof tasks feed into inputs of subsequent tasks.\n\nDeprecated: Please use v1.Pipeline instead.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "Spec holds the desired state of the Pipeline from the client",
                                                    "properties": {
                                                        "description": {
                                                            "description": "Description is a user-facing description of the pipeline that may be\nused to populate a UI.",
                                                            "type": "string"
                                                        },
                                                        "displayName": {
                                                            "description": "DisplayName is a user-facing name of the pipeline that may be\nused to populate a UI.",
                                                            "type": "string"
                                                        },
                                                        "finally": {
                                                            "description": "Finally declares the list of Tasks that execute just before leaving the Pipeline\ni.e. either after all Tasks are finished executing successfully\nor after a failure which would result in ending the Pipeline",
                                                            "items": {
                                                                "description": "PipelineTask defines a task in a Pipeline, passing inputs from both\nParams and from the output of previous tasks.",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is the description of this task within the context of a Pipeline.\nThis description may be used to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "displayName": {
                                                                        "description": "DisplayName is the display name of this task within the context of a Pipeline.\nThis display name may be used to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "matrix": {
                                                                        "description": "Matrix declares parameters used to fan out this task.",
                                                                        "properties": {
                                                                            "include": {
                                                                                "description": "Include is a list of IncludeParams which allows passing in specific combinations of Parameters into the Matrix.",
                                                                                "items": {
                                                                                    "description": "IncludeParams allows passing in a specific combinations of Parameters into the Matrix.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name the specified combination",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "params": {
                                                                                            "description": "Params takes only `Parameters` of type `\"string\"`\nThe names of the `params` must match the names of the `params` in the underlying `Task`",
                                                                                            "items": {
                                                                                                "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "value": {
                                                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name",
                                                                                                    "value"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params is a list of parameters used to fan out the pipelineTask\nParams takes only `Parameters` of type `\"array\"`\nEach array element is supplied to the `PipelineTask` by substituting `params` of type `\"string\"` in the underlying `Task`.\nThe names of the `params` in the `Matrix` must match the names of the `params` in the underlying `Task` that they will be substituting.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of this task within the context of a Pipeline. Name is\nused as a coordinate with the `from` and `runAfter` fields to establish\nthe execution order of tasks relative to one another.",
                                                                        "type": "string"
                                                                    },
                                                                    "onError": {
                                                                        "description": "OnError defines the exiting behavior of a PipelineRun on error\ncan be set to [ continue | stopAndFail ]",
                                                                        "type": "string"
                                                                    },
                                                                    "params": {
                                                                        "description": "Parameters declares parameters passed to this task.",
                                                                        "items": {
                                                                            "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name",
                                                                                "value"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "pipelineRef": {
                                                                        "description": "PipelineRef is a reference to a pipeline definition\nNote: PipelineRef is in preview mode and not yet supported",
                                                                        "properties": {
                                                                            "apiVersion": {
                                                                                "description": "API version of the referent",
                                                                                "type": "string"
                                                                            },
                                                                            "bundle": {
                                                                                "description": "Bundle url reference to a Tekton Bundle.\n\nDeprecated: Please use ResolverRef with the bundles resolver instead.\nThe field is staying there for go client backward compatibility, but is not used/allowed anymore.",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resolver": {
                                                                                "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "pipelineSpec": {
                                                                        "description": "PipelineSpec is a specification of a pipeline\nNote: PipelineSpec is in preview mode and not yet supported\nSpecifying PipelineSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Pipeline.spec (API version: tekton.dev/v1beta1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "resources": {
                                                                        "description": "Deprecated: Unused, preserved only for backwards compatibility",
                                                                        "properties": {
                                                                            "inputs": {
                                                                                "description": "Inputs holds the mapping from the PipelineResources declared in\nDeclaredPipelineResources to the input PipelineResources required by the Task.",
                                                                                "items": {
                                                                                    "description": "PipelineTaskInputResource maps the name of a declared PipelineResource input\ndependency in a Task to the resource in the Pipeline's DeclaredPipelineResources\nthat should be used. This input may come from a previous task.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                    "properties": {
                                                                                        "from": {
                                                                                            "description": "From is the list of PipelineTask names that the resource has to come from.\n(Implies an ordering in the execution graph.)",
                                                                                            "items": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        },
                                                                                        "name": {
                                                                                            "description": "Name is the name of the PipelineResource as declared by the Task.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "resource": {
                                                                                            "description": "Resource is the name of the DeclaredPipelineResource to use.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "resource"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "outputs": {
                                                                                "description": "Outputs holds the mapping from the PipelineResources declared in\nDeclaredPipelineResources to the input PipelineResources required by the Task.",
                                                                                "items": {
                                                                                    "description": "PipelineTaskOutputResource maps the name of a declared PipelineResource output\ndependency in a Task to the resource in the Pipeline's DeclaredPipelineResources\nthat should be used.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name is the name of the PipelineResource as declared by the Task.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "resource": {
                                                                                            "description": "Resource is the name of the DeclaredPipelineResource to use.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "resource"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "retries": {
                                                                        "description": "Retries represents how many times this task should be retried in case of task failure: ConditionSucceeded set to False",
                                                                        "type": "integer"
                                                                    },
                                                                    "runAfter": {
                                                                        "description": "RunAfter is the list of PipelineTask names that should be executed before\nthis Task executes. (Used to force a specific ordering in graph execution.)",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "taskRef": {
                                                                        "description": "TaskRef is a reference to a task definition.",
                                                                        "properties": {
                                                                            "apiVersion": {
                                                                                "description": "API version of the referent\nNote: A Task with non-empty APIVersion and Kind is considered a Custom Task",
                                                                                "type": "string"
                                                                            },
                                                                            "bundle": {
                                                                                "description": "Bundle url reference to a Tekton Bundle.\n\nDeprecated: Please use ResolverRef with the bundles resolver instead.\nThe field is staying there for go client backward compatibility, but is not used/allowed anymore.",
                                                                                "type": "string"
                                                                            },
                                                                            "kind": {
                                                                                "description": "TaskKind indicates the Kind of the Task:\n1. Namespaced Task when Kind is set to \"Task\". If Kind is \"\", it defaults to \"Task\".\n2. Custom Task when Kind is non-empty and APIVersion is non-empty",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resolver": {
                                                                                "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "taskSpec": {
                                                                        "description": "TaskSpec is a specification of a task\nSpecifying TaskSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Task.spec (API version: tekton.dev/v1beta1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "timeout": {
                                                                        "description": "Time after which the TaskRun times out. Defaults to 1 hour.\nRefer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration",
                                                                        "type": "string"
                                                                    },
                                                                    "when": {
                                                                        "description": "WhenExpressions is a list of when expressions that need to be true for the task to run",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "workspaces": {
                                                                        "description": "Workspaces maps workspaces from the pipeline spec to the workspaces\ndeclared in the Task.",
                                                                        "items": {
                                                                            "description": "WorkspacePipelineTaskBinding describes how a workspace passed into the pipeline should be\nmapped to a task's declared workspace.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "Name is the name of the workspace as declared by the task",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPath": {
                                                                                    "description": "SubPath is optionally a directory on the volume which should be used\nfor this binding (i.e. the volume will be mounted at this sub directory).",
                                                                                    "type": "string"
                                                                                },
                                                                                "workspace": {
                                                                                    "description": "Workspace is the name of the workspace declared by the pipeline",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "params": {
                                                            "description": "Params declares a list of input parameters that must be supplied when\nthis Pipeline is run.",
                                                            "items": {
                                                                "description": "ParamSpec defines arbitrary parameters needed beyond typed inputs (such as\nresources). Parameter values are provided by users as inputs on a TaskRun\nor PipelineRun.",
                                                                "properties": {
                                                                    "default": {
                                                                        "description": "Default is the value a parameter takes if no input value is supplied. If\ndefault is set, a Task may be executed without a supplied value for the\nparameter.",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "description": {
                                                                        "description": "Description is a user-facing description of the parameter that may be\nused to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "enum": {
                                                                        "description": "Enum declares a set of allowed param input values for tasks/pipelines that can be validated.\nIf Enum is not set, no input validation is performed for the param.",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name declares the name by which a parameter is referenced.",
                                                                        "type": "string"
                                                                    },
                                                                    "properties": {
                                                                        "additionalProperties": {
                                                                            "description": "PropertySpec defines the struct for object keys",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "description": "Properties is the JSON Schema properties to support key-value pairs parameter.",
                                                                        "type": "object"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the parameter. The possible types\nare currently \"string\", \"array\" and \"object\", and \"string\" is the default.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "resources": {
                                                            "description": "Deprecated: Unused, preserved only for backwards compatibility",
                                                            "items": {
                                                                "description": "PipelineDeclaredResource is used by a Pipeline to declare the types of the\nPipelineResources that it will required to run and names which can be used to\nrefer to these PipelineResources in PipelineTaskResourceBindings.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name is the name that will be used by the Pipeline to refer to this resource.\nIt does not directly correspond to the name of any PipelineResources Task\ninputs or outputs, and it does not correspond to the actual names of the\nPipelineResources that will be bound in the PipelineRun.",
                                                                        "type": "string"
                                                                    },
                                                                    "optional": {
                                                                        "description": "Optional declares the resource as optional.\noptional: true - the resource is considered optional\noptional: false - the resource is considered required (default/equivalent of not specifying it)",
                                                                        "type": "boolean"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the type of the PipelineResource.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "type"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "results": {
                                                            "description": "Results are values that this pipeline can output once run",
                                                            "items": {
                                                                "description": "PipelineResult used to describe the results of a pipeline",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is a human-readable description of the result",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name the given name",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the result.\nThe possible types are 'string', 'array', and 'object', with 'string' as the default.\n'array' and 'object' types are alpha features.",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Value the expression used to retrieve the value",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "tasks": {
                                                            "description": "Tasks declares the graph of Tasks that execute when this Pipeline is run.",
                                                            "items": {
                                                                "description": "PipelineTask defines a task in a Pipeline, passing inputs from both\nParams and from the output of previous tasks.",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is the description of this task within the context of a Pipeline.\nThis description may be used to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "displayName": {
                                                                        "description": "DisplayName is the display name of this task within the context of a Pipeline.\nThis display name may be used to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "matrix": {
                                                                        "description": "Matrix declares parameters used to fan out this task.",
                                                                        "properties": {
                                                                            "include": {
                                                                                "description": "Include is a list of IncludeParams which allows passing in specific combinations of Parameters into the Matrix.",
                                                                                "items": {
                                                                                    "description": "IncludeParams allows passing in a specific combinations of Parameters into the Matrix.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name the specified combination",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "params": {
                                                                                            "description": "Params takes only `Parameters` of type `\"string\"`\nThe names of the `params` must match the names of the `params` in the underlying `Task`",
                                                                                            "items": {
                                                                                                "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "value": {
                                                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name",
                                                                                                    "value"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params is a list of parameters used to fan out the pipelineTask\nParams takes only `Parameters` of type `\"array\"`\nEach array element is supplied to the `PipelineTask` by substituting `params` of type `\"string\"` in the underlying `Task`.\nThe names of the `params` in the `Matrix` must match the names of the `params` in the underlying `Task` that they will be substituting.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of this task within the context of a Pipeline. Name is\nused as a coordinate with the `from` and `runAfter` fields to establish\nthe execution order of tasks relative to one another.",
                                                                        "type": "string"
                                                                    },
                                                                    "onError": {
                                                                        "description": "OnError defines the exiting behavior of a PipelineRun on error\ncan be set to [ continue | stopAndFail ]",
                                                                        "type": "string"
                                                                    },
                                                                    "params": {
                                                                        "description": "Parameters declares parameters passed to this task.",
                                                                        "items": {
                                                                            "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name",
                                                                                "value"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "pipelineRef": {
                                                                        "description": "PipelineRef is a reference to a pipeline definition\nNote: PipelineRef is in preview mode and not yet supported",
                                                                        "properties": {
                                                                            "apiVersion": {
                                                                                "description": "API version of the referent",
                                                                                "type": "string"
                                                                            },
                                                                            "bundle": {
                                                                                "description": "Bundle url reference to a Tekton Bundle.\n\nDeprecated: Please use ResolverRef with the bundles resolver instead.\nThe field is staying there for go client backward compatibility, but is not used/allowed anymore.",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resolver": {
                                                                                "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "pipelineSpec": {
                                                                        "description": "PipelineSpec is a specification of a pipeline\nNote: PipelineSpec is in preview mode and not yet supported\nSpecifying PipelineSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Pipeline.spec (API version: tekton.dev/v1beta1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "resources": {
                                                                        "description": "Deprecated: Unused, preserved only for backwards compatibility",
                                                                        "properties": {
                                                                            "inputs": {
                                                                                "description": "Inputs holds the mapping from the PipelineResources declared in\nDeclaredPipelineResources to the input PipelineResources required by the Task.",
                                                                                "items": {
                                                                                    "description": "PipelineTaskInputResource maps the name of a declared PipelineResource input\ndependency in a Task to the resource in the Pipeline's DeclaredPipelineResources\nthat should be used. This input may come from a previous task.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                    "properties": {
                                                                                        "from": {
                                                                                            "description": "From is the list of PipelineTask names that the resource has to come from.\n(Implies an ordering in the execution graph.)",
                                                                                            "items": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        },
                                                                                        "name": {
                                                                                            "description": "Name is the name of the PipelineResource as declared by the Task.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "resource": {
                                                                                            "description": "Resource is the name of the DeclaredPipelineResource to use.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "resource"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "outputs": {
                                                                                "description": "Outputs holds the mapping from the PipelineResources declared in\nDeclaredPipelineResources to the input PipelineResources required by the Task.",
                                                                                "items": {
                                                                                    "description": "PipelineTaskOutputResource maps the name of a declared PipelineResource output\ndependency in a Task to the resource in the Pipeline's DeclaredPipelineResources\nthat should be used.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name is the name of the PipelineResource as declared by the Task.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "resource": {
                                                                                            "description": "Resource is the name of the DeclaredPipelineResource to use.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "resource"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "retries": {
                                                                        "description": "Retries represents how many times this task should be retried in case of task failure: ConditionSucceeded set to False",
                                                                        "type": "integer"
                                                                    },
                                                                    "runAfter": {
                                                                        "description": "RunAfter is the list of PipelineTask names that should be executed before\nthis Task executes. (Used to force a specific ordering in graph execution.)",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "taskRef": {
                                                                        "description": "TaskRef is a reference to a task definition.",
                                                                        "properties": {
                                                                            "apiVersion": {
                                                                                "description": "API version of the referent\nNote: A Task with non-empty APIVersion and Kind is considered a Custom Task",
                                                                                "type": "string"
                                                                            },
                                                                            "bundle": {
                                                                                "description": "Bundle url reference to a Tekton Bundle.\n\nDeprecated: Please use ResolverRef with the bundles resolver instead.\nThe field is staying there for go client backward compatibility, but is not used/allowed anymore.",
                                                                                "type": "string"
                                                                            },
                                                                            "kind": {
                                                                                "description": "TaskKind indicates the Kind of the Task:\n1. Namespaced Task when Kind is set to \"Task\". If Kind is \"\", it defaults to \"Task\".\n2. Custom Task when Kind is non-empty and APIVersion is non-empty",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resolver": {
                                                                                "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "taskSpec": {
                                                                        "description": "TaskSpec is a specification of a task\nSpecifying TaskSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Task.spec (API version: tekton.dev/v1beta1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "timeout": {
                                                                        "description": "Time after which the TaskRun times out. Defaults to 1 hour.\nRefer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration",
                                                                        "type": "string"
                                                                    },
                                                                    "when": {
                                                                        "description": "WhenExpressions is a list of when expressions that need to be true for the task to run",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "workspaces": {
                                                                        "description": "Workspaces maps workspaces from the pipeline spec to the workspaces\ndeclared in the Task.",
                                                                        "items": {
                                                                            "description": "WorkspacePipelineTaskBinding describes how a workspace passed into the pipeline should be\nmapped to a task's declared workspace.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "Name is the name of the workspace as declared by the task",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPath": {
                                                                                    "description": "SubPath is optionally a directory on the volume which should be used\nfor this binding (i.e. the volume will be mounted at this sub directory).",
                                                                                    "type": "string"
                                                                                },
                                                                                "workspace": {
                                                                                    "description": "Workspace is the name of the workspace declared by the pipeline",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "workspaces": {
                                                            "description": "Workspaces declares a set of named workspaces that are expected to be\nprovided by a PipelineRun.",
                                                            "items": {
                                                                "description": "PipelineWorkspaceDeclaration creates a named slot in a Pipeline that a PipelineRun\nis expected to populate with a workspace binding.",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is a human readable string describing how the workspace will be\nused in the Pipeline. It can be useful to include a bit of detail about which\ntasks are intended to have access to the data on the workspace.",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of a workspace to be provided by a PipelineRun.",
                                                                        "type": "string"
                                                                    },
                                                                    "optional": {
                                                                        "description": "Optional marks a Workspace as not being required in PipelineRuns. By default\nthis field is false and so declared workspaces are required.",
                                                                        "type": "boolean"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "name": "v1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "Pipeline describes a list of Tasks to execute. It expresses how outputs\nof tasks feed into inputs of subsequent tasks.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "Spec holds the desired state of the Pipeline from the client",
                                                    "properties": {
                                                        "description": {
                                                            "description": "Description is a user-facing description of the pipeline that may be\nused to populate a UI.",
                                                            "type": "string"
                                                        },
                                                        "displayName": {
                                                            "description": "DisplayName is a user-facing name of the pipeline that may be\nused to populate a UI.",
                                                            "type": "string"
                                                        },
                                                        "finally": {
                                                            "description": "Finally declares the list of Tasks that execute just before leaving the Pipeline\ni.e. either after all Tasks are finished executing successfully\nor after a failure which would result in ending the Pipeline",
                                                            "items": {
                                                                "description": "PipelineTask defines a task in a Pipeline, passing inputs from both\nParams and from the output of previous tasks.",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is the description of this task within the context of a Pipeline.\nThis description may be used to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "displayName": {
                                                                        "description": "DisplayName is the display name of this task within the context of a Pipeline.\nThis display name may be used to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "matrix": {
                                                                        "description": "Matrix declares parameters used to fan out this task.",
                                                                        "properties": {
                                                                            "include": {
                                                                                "description": "Include is a list of IncludeParams which allows passing in specific combinations of Parameters into the Matrix.",
                                                                                "items": {
                                                                                    "description": "IncludeParams allows passing in a specific combinations of Parameters into the Matrix.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name the specified combination",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "params": {
                                                                                            "description": "Params takes only `Parameters` of type `\"string\"`\nThe names of the `params` must match the names of the `params` in the underlying `Task`",
                                                                                            "items": {
                                                                                                "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "value": {
                                                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name",
                                                                                                    "value"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params is a list of parameters used to fan out the pipelineTask\nParams takes only `Parameters` of type `\"array\"`\nEach array element is supplied to the `PipelineTask` by substituting `params` of type `\"string\"` in the underlying `Task`.\nThe names of the `params` in the `Matrix` must match the names of the `params` in the underlying `Task` that they will be substituting.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of this task within the context of a Pipeline. Name is\nused as a coordinate with the `from` and `runAfter` fields to establish\nthe execution order of tasks relative to one another.",
                                                                        "type": "string"
                                                                    },
                                                                    "onError": {
                                                                        "description": "OnError defines the exiting behavior of a PipelineRun on error\ncan be set to [ continue | stopAndFail ]",
                                                                        "type": "string"
                                                                    },
                                                                    "params": {
                                                                        "description": "Parameters declares parameters passed to this task.",
                                                                        "items": {
                                                                            "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name",
                                                                                "value"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "pipelineRef": {
                                                                        "description": "PipelineRef is a reference to a pipeline definition\nNote: PipelineRef is in preview mode and not yet supported",
                                                                        "properties": {
                                                                            "apiVersion": {
                                                                                "description": "API version of the referent",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resolver": {
                                                                                "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "pipelineSpec": {
                                                                        "description": "PipelineSpec is a specification of a pipeline\nNote: PipelineSpec is in preview mode and not yet supported\nSpecifying PipelineSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Pipeline.spec (API version: tekton.dev/v1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "retries": {
                                                                        "description": "Retries represents how many times this task should be retried in case of task failure: ConditionSucceeded set to False",
                                                                        "type": "integer"
                                                                    },
                                                                    "runAfter": {
                                                                        "description": "RunAfter is the list of PipelineTask names that should be executed before\nthis Task executes. (Used to force a specific ordering in graph execution.)",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "taskRef": {
                                                                        "description": "TaskRef is a reference to a task definition.",
                                                                        "properties": {
                                                                            "apiVersion": {
                                                                                "description": "API version of the referent\nNote: A Task with non-empty APIVersion and Kind is considered a Custom Task",
                                                                                "type": "string"
                                                                            },
                                                                            "kind": {
                                                                                "description": "TaskKind indicates the Kind of the Task:\n1. Namespaced Task when Kind is set to \"Task\". If Kind is \"\", it defaults to \"Task\".\n2. Custom Task when Kind is non-empty and APIVersion is non-empty",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resolver": {
                                                                                "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "taskSpec": {
                                                                        "description": "TaskSpec is a specification of a task\nSpecifying TaskSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Task.spec (API version: tekton.dev/v1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "timeout": {
                                                                        "description": "Time after which the TaskRun times out. Defaults to 1 hour.\nRefer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration",
                                                                        "type": "string"
                                                                    },
                                                                    "when": {
                                                                        "description": "When is a list of when expressions that need to be true for the task to run",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "workspaces": {
                                                                        "description": "Workspaces maps workspaces from the pipeline spec to the workspaces\ndeclared in the Task.",
                                                                        "items": {
                                                                            "description": "WorkspacePipelineTaskBinding describes how a workspace passed into the pipeline should be\nmapped to a task's declared workspace.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "Name is the name of the workspace as declared by the task",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPath": {
                                                                                    "description": "SubPath is optionally a directory on the volume which should be used\nfor this binding (i.e. the volume will be mounted at this sub directory).",
                                                                                    "type": "string"
                                                                                },
                                                                                "workspace": {
                                                                                    "description": "Workspace is the name of the workspace declared by the pipeline",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "params": {
                                                            "description": "Params declares a list of input parameters that must be supplied when\nthis Pipeline is run.",
                                                            "items": {
                                                                "description": "ParamSpec defines arbitrary parameters needed beyond typed inputs (such as\nresources). Parameter values are provided by users as inputs on a TaskRun\nor PipelineRun.",
                                                                "properties": {
                                                                    "default": {
                                                                        "description": "Default is the value a parameter takes if no input value is supplied. If\ndefault is set, a Task may be executed without a supplied value for the\nparameter.",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "description": {
                                                                        "description": "Description is a user-facing description of the parameter that may be\nused to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "enum": {
                                                                        "description": "Enum declares a set of allowed param input values for tasks/pipelines that can be validated.\nIf Enum is not set, no input validation is performed for the param.",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name declares the name by which a parameter is referenced.",
                                                                        "type": "string"
                                                                    },
                                                                    "properties": {
                                                                        "additionalProperties": {
                                                                            "description": "PropertySpec defines the struct for object keys",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "description": "Properties is the JSON Schema properties to support key-value pairs parameter.",
                                                                        "type": "object"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the parameter. The possible types\nare currently \"string\", \"array\" and \"object\", and \"string\" is the default.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "results": {
                                                            "description": "Results are values that this pipeline can output once run",
                                                            "items": {
                                                                "description": "PipelineResult used to describe the results of a pipeline",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is a human-readable description of the result",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name the given name",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the result.\nThe possible types are 'string', 'array', and 'object', with 'string' as the default.\n'array' and 'object' types are alpha features.",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Value the expression used to retrieve the value",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "tasks": {
                                                            "description": "Tasks declares the graph of Tasks that execute when this Pipeline is run.",
                                                            "items": {
                                                                "description": "PipelineTask defines a task in a Pipeline, passing inputs from both\nParams and from the output of previous tasks.",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is the description of this task within the context of a Pipeline.\nThis description may be used to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "displayName": {
                                                                        "description": "DisplayName is the display name of this task within the context of a Pipeline.\nThis display name may be used to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "matrix": {
                                                                        "description": "Matrix declares parameters used to fan out this task.",
                                                                        "properties": {
                                                                            "include": {
                                                                                "description": "Include is a list of IncludeParams which allows passing in specific combinations of Parameters into the Matrix.",
                                                                                "items": {
                                                                                    "description": "IncludeParams allows passing in a specific combinations of Parameters into the Matrix.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name the specified combination",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "params": {
                                                                                            "description": "Params takes only `Parameters` of type `\"string\"`\nThe names of the `params` must match the names of the `params` in the underlying `Task`",
                                                                                            "items": {
                                                                                                "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "value": {
                                                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name",
                                                                                                    "value"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params is a list of parameters used to fan out the pipelineTask\nParams takes only `Parameters` of type `\"array\"`\nEach array element is supplied to the `PipelineTask` by substituting `params` of type `\"string\"` in the underlying `Task`.\nThe names of the `params` in the `Matrix` must match the names of the `params` in the underlying `Task` that they will be substituting.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of this task within the context of a Pipeline. Name is\nused as a coordinate with the `from` and `runAfter` fields to establish\nthe execution order of tasks relative to one another.",
                                                                        "type": "string"
                                                                    },
                                                                    "onError": {
                                                                        "description": "OnError defines the exiting behavior of a PipelineRun on error\ncan be set to [ continue | stopAndFail ]",
                                                                        "type": "string"
                                                                    },
                                                                    "params": {
                                                                        "description": "Parameters declares parameters passed to this task.",
                                                                        "items": {
                                                                            "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name",
                                                                                "value"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "pipelineRef": {
                                                                        "description": "PipelineRef is a reference to a pipeline definition\nNote: PipelineRef is in preview mode and not yet supported",
                                                                        "properties": {
                                                                            "apiVersion": {
                                                                                "description": "API version of the referent",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resolver": {
                                                                                "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "pipelineSpec": {
                                                                        "description": "PipelineSpec is a specification of a pipeline\nNote: PipelineSpec is in preview mode and not yet supported\nSpecifying PipelineSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Pipeline.spec (API version: tekton.dev/v1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "retries": {
                                                                        "description": "Retries represents how many times this task should be retried in case of task failure: ConditionSucceeded set to False",
                                                                        "type": "integer"
                                                                    },
                                                                    "runAfter": {
                                                                        "description": "RunAfter is the list of PipelineTask names that should be executed before\nthis Task executes. (Used to force a specific ordering in graph execution.)",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "taskRef": {
                                                                        "description": "TaskRef is a reference to a task definition.",
                                                                        "properties": {
                                                                            "apiVersion": {
                                                                                "description": "API version of the referent\nNote: A Task with non-empty APIVersion and Kind is considered a Custom Task",
                                                                                "type": "string"
                                                                            },
                                                                            "kind": {
                                                                                "description": "TaskKind indicates the Kind of the Task:\n1. Namespaced Task when Kind is set to \"Task\". If Kind is \"\", it defaults to \"Task\".\n2. Custom Task when Kind is non-empty and APIVersion is non-empty",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resolver": {
                                                                                "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "taskSpec": {
                                                                        "description": "TaskSpec is a specification of a task\nSpecifying TaskSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Task.spec (API version: tekton.dev/v1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "timeout": {
                                                                        "description": "Time after which the TaskRun times out. Defaults to 1 hour.\nRefer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration",
                                                                        "type": "string"
                                                                    },
                                                                    "when": {
                                                                        "description": "When is a list of when expressions that need to be true for the task to run",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "workspaces": {
                                                                        "description": "Workspaces maps workspaces from the pipeline spec to the workspaces\ndeclared in the Task.",
                                                                        "items": {
                                                                            "description": "WorkspacePipelineTaskBinding describes how a workspace passed into the pipeline should be\nmapped to a task's declared workspace.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "Name is the name of the workspace as declared by the task",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPath": {
                                                                                    "description": "SubPath is optionally a directory on the volume which should be used\nfor this binding (i.e. the volume will be mounted at this sub directory).",
                                                                                    "type": "string"
                                                                                },
                                                                                "workspace": {
                                                                                    "description": "Workspace is the name of the workspace declared by the pipeline",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "workspaces": {
                                                            "description": "Workspaces declares a set of named workspaces that are expected to be\nprovided by a PipelineRun.",
                                                            "items": {
                                                                "description": "PipelineWorkspaceDeclaration creates a named slot in a Pipeline that a PipelineRun\nis expected to populate with a workspace binding.",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is a human readable string describing how the workspace will be\nused in the Pipeline. It can be useful to include a bit of detail about which\ntasks are intended to have access to the data on the workspace.",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of a workspace to be provided by a PipelineRun.",
                                                                        "type": "string"
                                                                    },
                                                                    "optional": {
                                                                        "description": "Optional marks a Workspace as not being required in PipelineRuns. By default\nthis field is false and so declared workspaces are required.",
                                                                        "type": "boolean"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "pipelineruns.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "conversion": {
                                "strategy": "Webhook",
                                "webhook": {
                                    "clientConfig": {
                                        "service": {
                                            "name": "tekton-pipelines-webhook",
                                            "namespace": "openshift-pipelines"
                                        }
                                    },
                                    "conversionReviewVersions": [
                                        "v1beta1",
                                        "v1"
                                    ]
                                }
                            },
                            "group": "tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-pipelines"
                                ],
                                "kind": "PipelineRun",
                                "plural": "pipelineruns",
                                "shortNames": [
                                    "pr",
                                    "prs"
                                ],
                                "singular": "pipelinerun"
                            },
                            "preserveUnknownFields": false,
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "additionalPrinterColumns": [
                                        {
                                            "jsonPath": ".status.conditions[?(@.type==\"Succeeded\")].status",
                                            "name": "Succeeded",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type==\"Succeeded\")].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.startTime",
                                            "name": "StartTime",
                                            "type": "date"
                                        },
                                        {
                                            "jsonPath": ".status.completionTime",
                                            "name": "CompletionTime",
                                            "type": "date"
                                        }
                                    ],
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "PipelineRun represents a single execution of a Pipeline. PipelineRuns are how\nthe graph of Tasks declared in a Pipeline are executed; they specify inputs\nto Pipelines such as parameter values and capture operational aspects of the\nTasks execution such as service account and tolerations. Creating a\nPipelineRun creates TaskRuns for Tasks in the referenced Pipeline.\n\nDeprecated: Please use v1.PipelineRun instead.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "PipelineRunSpec defines the desired state of PipelineRun",
                                                    "properties": {
                                                        "params": {
                                                            "description": "Params is a list of parameter names and values.",
                                                            "items": {
                                                                "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                "properties": {
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "pipelineRef": {
                                                            "description": "PipelineRef can be used to refer to a specific instance of a Pipeline.",
                                                            "properties": {
                                                                "apiVersion": {
                                                                    "description": "API version of the referent",
                                                                    "type": "string"
                                                                },
                                                                "bundle": {
                                                                    "description": "Bundle url reference to a Tekton Bundle.\n\nDeprecated: Please use ResolverRef with the bundles resolver instead.\nThe field is staying there for go client backward compatibility, but is not used/allowed anymore.",
                                                                    "type": "string"
                                                                },
                                                                "name": {
                                                                    "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                    "type": "string"
                                                                },
                                                                "params": {
                                                                    "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                    "items": {
                                                                        "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name",
                                                                            "value"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "resolver": {
                                                                    "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "pipelineSpec": {
                                                            "description": "Specifying PipelineSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Pipeline.spec (API version: tekton.dev/v1beta1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "podTemplate": {
                                                            "description": "PodTemplate holds pod specific configuration",
                                                            "properties": {
                                                                "affinity": {
                                                                    "description": "If specified, the pod's scheduling constraints.\nSee Pod.spec.affinity (API version: v1)",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                },
                                                                "automountServiceAccountToken": {
                                                                    "description": "AutomountServiceAccountToken indicates whether pods running as this\nservice account should have an API token automatically mounted.",
                                                                    "type": "boolean"
                                                                },
                                                                "dnsConfig": {
                                                                    "description": "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy.",
                                                                    "properties": {
                                                                        "nameservers": {
                                                                            "description": "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed.",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "options": {
                                                                            "description": "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy.",
                                                                            "items": {
                                                                                "description": "PodDNSConfigOption defines DNS resolver options of a pod.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "description": "Name is this DNS resolver option's name.\nRequired.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "value": {
                                                                                        "description": "Value is this DNS resolver option's value.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "searches": {
                                                                            "description": "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed.",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "dnsPolicy": {
                                                                    "description": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are\n'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig\nwill be merged with the policy selected with DNSPolicy.",
                                                                    "type": "string"
                                                                },
                                                                "enableServiceLinks": {
                                                                    "description": "EnableServiceLinks indicates whether information about services should be injected into pod's\nenvironment variables, matching the syntax of Docker links.\nOptional: Defaults to true.",
                                                                    "type": "boolean"
                                                                },
                                                                "env": {
                                                                    "description": "List of environment variables that can be provided to the containers belonging to the pod.",
                                                                    "items": {
                                                                        "description": "EnvVar represents an environment variable present in a Container.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                "type": "string"
                                                                            },
                                                                            "valueFrom": {
                                                                                "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                "properties": {
                                                                                    "configMapKeyRef": {
                                                                                        "description": "Selects a key of a ConfigMap.",
                                                                                        "properties": {
                                                                                            "key": {
                                                                                                "description": "The key to select.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "key"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "fieldRef": {
                                                                                        "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                        "properties": {
                                                                                            "apiVersion": {
                                                                                                "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "fieldPath": {
                                                                                                "description": "Path of the field to select in the specified API version.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "fieldPath"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "resourceFieldRef": {
                                                                                        "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                        "properties": {
                                                                                            "containerName": {
                                                                                                "description": "Container name: required for volumes, optional for env vars",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "divisor": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "resource": {
                                                                                                "description": "Required: resource to select",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "resource"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "secretKeyRef": {
                                                                                        "description": "Selects a key of a secret in the pod's namespace",
                                                                                        "properties": {
                                                                                            "key": {
                                                                                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the Secret or its key must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "key"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "hostAliases": {
                                                                    "description": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts\nfile if specified. This is only valid for non-hostNetwork pods.",
                                                                    "items": {
                                                                        "description": "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the\npod's hosts file.",
                                                                        "properties": {
                                                                            "hostnames": {
                                                                                "description": "Hostnames for the above IP address.",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "ip": {
                                                                                "description": "IP address of the host file entry.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "ip"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "hostNetwork": {
                                                                    "description": "HostNetwork specifies whether the pod may use the node network namespace",
                                                                    "type": "boolean"
                                                                },
                                                                "imagePullSecrets": {
                                                                    "description": "ImagePullSecrets gives the name of the secret used by the pod to pull the image if specified",
                                                                    "items": {
                                                                        "description": "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "default": "",
                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object",
                                                                        "x-kubernetes-map-type": "atomic"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "nodeSelector": {
                                                                    "additionalProperties": {
                                                                        "type": "string"
                                                                    },
                                                                    "description": "NodeSelector is a selector which must be true for the pod to fit on a node.\nSelector which must match a node's labels for the pod to be scheduled on that node.\nMore info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
                                                                    "type": "object"
                                                                },
                                                                "priorityClassName": {
                                                                    "description": "If specified, indicates the pod's priority. \"system-node-critical\" and\n\"system-cluster-critical\" are two special keywords which indicate the\nhighest priorities with the former being the highest priority. Any other\nname must be defined by creating a PriorityClass object with that name.\nIf not specified, the pod priority will be default or zero if there is no\ndefault.",
                                                                    "type": "string"
                                                                },
                                                                "runtimeClassName": {
                                                                    "description": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io\ngroup, which should be used to run this pod. If no RuntimeClass resource\nmatches the named class, the pod will not be run. If unset or empty, the\n\"legacy\" RuntimeClass will be used, which is an implicit class with an\nempty definition that uses the default runtime handler.\nMore info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md\nThis is a beta feature as of Kubernetes v1.14.",
                                                                    "type": "string"
                                                                },
                                                                "schedulerName": {
                                                                    "description": "SchedulerName specifies the scheduler to be used to dispatch the Pod",
                                                                    "type": "string"
                                                                },
                                                                "securityContext": {
                                                                    "description": "SecurityContext holds pod-level security attributes and common container settings.\nOptional: Defaults to empty.  See type description for default values of each field.\nSee Pod.spec.securityContext (API version: v1)",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                },
                                                                "tolerations": {
                                                                    "description": "If specified, the pod's tolerations.",
                                                                    "items": {
                                                                        "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.",
                                                                        "properties": {
                                                                            "effect": {
                                                                                "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.",
                                                                                "type": "string"
                                                                            },
                                                                            "key": {
                                                                                "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.",
                                                                                "type": "string"
                                                                            },
                                                                            "operator": {
                                                                                "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.",
                                                                                "type": "string"
                                                                            },
                                                                            "tolerationSeconds": {
                                                                                "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "value": {
                                                                                "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "topologySpreadConstraints": {
                                                                    "description": "TopologySpreadConstraints controls how Pods are spread across your cluster among\nfailure-domains such as regions, zones, nodes, and other user-defined topology domains.",
                                                                    "items": {
                                                                        "description": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.",
                                                                        "properties": {
                                                                            "labelSelector": {
                                                                                "description": "LabelSelector is used to find matching pods.\nPods that match this label selector are counted to determine the number of pods\nin their corresponding topology domain.",
                                                                                "properties": {
                                                                                    "matchExpressions": {
                                                                                        "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                        "items": {
                                                                                            "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "key is the label key that the selector applies to.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "operator": {
                                                                                                    "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "values": {
                                                                                                    "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                    "items": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key",
                                                                                                "operator"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "matchLabels": {
                                                                                        "additionalProperties": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "matchLabelKeys": {
                                                                                "description": "MatchLabelKeys is a set of pod label keys to select the pods over which\nspreading will be calculated. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are ANDed with labelSelector\nto select the group of existing pods over which spreading will be calculated\nfor the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nMatchLabelKeys cannot be set when LabelSelector isn't set.\nKeys that don't exist in the incoming pod labels will\nbe ignored. A null or empty list means only match against labelSelector.\n\nThis is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "maxSkew": {
                                                                                "description": "MaxSkew describes the degree to which pods may be unevenly distributed.\nWhen `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference\nbetween the number of matching pods in the target topology and the global minimum.\nThe global minimum is the minimum number of matching pods in an eligible domain\nor zero if the number of eligible domains is less than MinDomains.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 2/2/1:\nIn this case, the global minimum is 1.\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |   P   |\n- if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;\nscheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)\nviolate MaxSkew(1).\n- if MaxSkew is 2, incoming pod can be scheduled onto any zone.\nWhen `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence\nto topologies that satisfy it.\nIt's a required field. Default value is 1 and 0 is not allowed.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "minDomains": {
                                                                                "description": "MinDomains indicates a minimum number of eligible domains.\nWhen the number of eligible domains with matching topology keys is less than minDomains,\nPod Topology Spread treats \"global minimum\" as 0, and then the calculation of Skew is performed.\nAnd when the number of eligible domains with matching topology keys equals or greater than minDomains,\nthis value has no effect on scheduling.\nAs a result, when the number of eligible domains is less than minDomains,\nscheduler won't schedule more than maxSkew Pods to those domains.\nIf value is nil, the constraint behaves as if MinDomains is equal to 1.\nValid values are integers greater than 0.\nWhen value is not nil, WhenUnsatisfiable must be DoNotSchedule.\n\nFor example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same\nlabelSelector spread as 2/2/2:\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |  P P  |\nThe number of domains is less than 5(MinDomains), so \"global minimum\" is treated as 0.\nIn this situation, new pod with the same labelSelector cannot be scheduled,\nbecause computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,\nit will violate MaxSkew.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "nodeAffinityPolicy": {
                                                                                "description": "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector\nwhen calculating pod topology spread skew. Options are:\n- Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.\n- Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.\n\nIf this value is nil, the behavior is equivalent to the Honor policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                "type": "string"
                                                                            },
                                                                            "nodeTaintsPolicy": {
                                                                                "description": "NodeTaintsPolicy indicates how we will treat node taints when calculating\npod topology spread skew. Options are:\n- Honor: nodes without taints, along with tainted nodes for which the incoming pod\nhas a toleration, are included.\n- Ignore: node taints are ignored. All nodes are included.\n\nIf this value is nil, the behavior is equivalent to the Ignore policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                "type": "string"
                                                                            },
                                                                            "topologyKey": {
                                                                                "description": "TopologyKey is the key of node labels. Nodes that have a label with this key\nand identical values are considered to be in the same topology.\nWe consider each \u003ckey, value\u003e as a \"bucket\", and try to put balanced number\nof pods into each bucket.\nWe define a domain as a particular instance of a topology.\nAlso, we define an eligible domain as a domain whose nodes meet the requirements of\nnodeAffinityPolicy and nodeTaintsPolicy.\ne.g. If TopologyKey is \"kubernetes.io/hostname\", each Node is a domain of that topology.\nAnd, if TopologyKey is \"topology.kubernetes.io/zone\", each zone is a domain of that topology.\nIt's a required field.",
                                                                                "type": "string"
                                                                            },
                                                                            "whenUnsatisfiable": {
                                                                                "description": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy\nthe spread constraint.\n- DoNotSchedule (default) tells the scheduler not to schedule it.\n- ScheduleAnyway tells the scheduler to schedule the pod in any location,\n  but giving higher precedence to topologies that would help reduce the\n  skew.\nA constraint is considered \"Unsatisfiable\" for an incoming pod\nif and only if every possible node assignment for that pod would violate\n\"MaxSkew\" on some topology.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 3/1/1:\n| zone1 | zone2 | zone3 |\n| P P P |   P   |   P   |\nIf WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled\nto zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies\nMaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler\nwon't make it *more* imbalanced.\nIt's a required field.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "maxSkew",
                                                                            "topologyKey",
                                                                            "whenUnsatisfiable"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "volumes": {
                                                                    "description": "List of volumes that can be mounted by containers belonging to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes\nSee Pod.spec.volumes (API version: v1)",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "resources": {
                                                            "description": "Resources is a list of bindings specifying which actual instances of\nPipelineResources to use for the resources the Pipeline has declared\nit needs.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                            "items": {
                                                                "description": "PipelineResourceBinding connects a reference to an instance of a PipelineResource\nwith a PipelineResource dependency that the Pipeline has declared\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name is the name of the PipelineResource in the Pipeline's declaration",
                                                                        "type": "string"
                                                                    },
                                                                    "resourceRef": {
                                                                        "description": "ResourceRef is a reference to the instance of the actual PipelineResource\nthat should be used",
                                                                        "properties": {
                                                                            "apiVersion": {
                                                                                "description": "API version of the referent",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "resourceSpec": {
                                                                        "description": "ResourceSpec is specification of a resource that should be created and\nconsumed by the task",
                                                                        "properties": {
                                                                            "description": {
                                                                                "description": "Description is a user-facing description of the resource that may be\nused to populate a UI.",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "items": {
                                                                                    "description": "ResourceParam declares a string value to use for the parameter called Name, and is used in\nthe specific context of PipelineResources.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "secrets": {
                                                                                "description": "Secrets to fetch to populate some of resource fields",
                                                                                "items": {
                                                                                    "description": "SecretParam indicates which secret can be used to populate a field of the resource\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                    "properties": {
                                                                                        "fieldName": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "secretKey": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "secretName": {
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "fieldName",
                                                                                        "secretKey",
                                                                                        "secretName"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "type": {
                                                                                "description": "PipelineResourceType represents the type of endpoint the pipelineResource is, so that the\ncontroller will know this pipelineResource shouldx be fetched and optionally what\nadditional metatdata should be provided for it.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "params",
                                                                            "type"
                                                                        ],
                                                                        "type": "object"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "serviceAccountName": {
                                                            "type": "string"
                                                        },
                                                        "status": {
                                                            "description": "Used for cancelling a pipelinerun (and maybe more later on)",
                                                            "type": "string"
                                                        },
                                                        "taskRunSpecs": {
                                                            "description": "TaskRunSpecs holds a set of runtime specs",
                                                            "items": {
                                                                "description": "PipelineTaskRunSpec  can be used to configure specific\nspecs for a concrete Task",
                                                                "properties": {
                                                                    "computeResources": {
                                                                        "description": "Compute resources to use for this TaskRun",
                                                                        "properties": {
                                                                            "claims": {
                                                                                "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                "items": {
                                                                                    "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "request": {
                                                                                            "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "name"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "limits": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            },
                                                                            "requests": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "metadata": {
                                                                        "description": "PipelineTaskMetadata contains the labels or annotations for an EmbeddedTask",
                                                                        "properties": {
                                                                            "annotations": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "labels": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "pipelineTaskName": {
                                                                        "type": "string"
                                                                    },
                                                                    "sidecarOverrides": {
                                                                        "items": {
                                                                            "description": "TaskRunSidecarOverride is used to override the values of a Sidecar in the corresponding Task.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "The name of the Sidecar to override.",
                                                                                    "type": "string"
                                                                                },
                                                                                "resources": {
                                                                                    "description": "The resource requirements to apply to the Sidecar.",
                                                                                    "properties": {
                                                                                        "claims": {
                                                                                            "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                            "items": {
                                                                                                "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "request": {
                                                                                                        "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-map-keys": [
                                                                                                "name"
                                                                                            ],
                                                                                            "x-kubernetes-list-type": "map"
                                                                                        },
                                                                                        "limits": {
                                                                                            "additionalProperties": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                            "type": "object"
                                                                                        },
                                                                                        "requests": {
                                                                                            "additionalProperties": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name",
                                                                                "resources"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "stepOverrides": {
                                                                        "items": {
                                                                            "description": "TaskRunStepOverride is used to override the values of a Step in the corresponding Task.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "The name of the Step to override.",
                                                                                    "type": "string"
                                                                                },
                                                                                "resources": {
                                                                                    "description": "The resource requirements to apply to the Step.",
                                                                                    "properties": {
                                                                                        "claims": {
                                                                                            "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                            "items": {
                                                                                                "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "request": {
                                                                                                        "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-map-keys": [
                                                                                                "name"
                                                                                            ],
                                                                                            "x-kubernetes-list-type": "map"
                                                                                        },
                                                                                        "limits": {
                                                                                            "additionalProperties": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                            "type": "object"
                                                                                        },
                                                                                        "requests": {
                                                                                            "additionalProperties": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name",
                                                                                "resources"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "taskPodTemplate": {
                                                                        "description": "PodTemplate holds pod specific configuration",
                                                                        "properties": {
                                                                            "affinity": {
                                                                                "description": "If specified, the pod's scheduling constraints.\nSee Pod.spec.affinity (API version: v1)",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            },
                                                                            "automountServiceAccountToken": {
                                                                                "description": "AutomountServiceAccountToken indicates whether pods running as this\nservice account should have an API token automatically mounted.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "dnsConfig": {
                                                                                "description": "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy.",
                                                                                "properties": {
                                                                                    "nameservers": {
                                                                                        "description": "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "options": {
                                                                                        "description": "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy.",
                                                                                        "items": {
                                                                                            "description": "PodDNSConfigOption defines DNS resolver options of a pod.",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "Name is this DNS resolver option's name.\nRequired.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "Value is this DNS resolver option's value.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "searches": {
                                                                                        "description": "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "dnsPolicy": {
                                                                                "description": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are\n'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig\nwill be merged with the policy selected with DNSPolicy.",
                                                                                "type": "string"
                                                                            },
                                                                            "enableServiceLinks": {
                                                                                "description": "EnableServiceLinks indicates whether information about services should be injected into pod's\nenvironment variables, matching the syntax of Docker links.\nOptional: Defaults to true.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "env": {
                                                                                "description": "List of environment variables that can be provided to the containers belonging to the pod.",
                                                                                "items": {
                                                                                    "description": "EnvVar represents an environment variable present in a Container.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "valueFrom": {
                                                                                            "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                            "properties": {
                                                                                                "configMapKeyRef": {
                                                                                                    "description": "Selects a key of a ConfigMap.",
                                                                                                    "properties": {
                                                                                                        "key": {
                                                                                                            "description": "The key to select.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "name": {
                                                                                                            "default": "",
                                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "optional": {
                                                                                                            "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                            "type": "boolean"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "key"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "fieldRef": {
                                                                                                    "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                                    "properties": {
                                                                                                        "apiVersion": {
                                                                                                            "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "fieldPath": {
                                                                                                            "description": "Path of the field to select in the specified API version.",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "fieldPath"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "resourceFieldRef": {
                                                                                                    "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                                    "properties": {
                                                                                                        "containerName": {
                                                                                                            "description": "Container name: required for volumes, optional for env vars",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "divisor": {
                                                                                                            "anyOf": [
                                                                                                                {
                                                                                                                    "type": "integer"
                                                                                                                },
                                                                                                                {
                                                                                                                    "type": "string"
                                                                                                                }
                                                                                                            ],
                                                                                                            "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                            "x-kubernetes-int-or-string": true
                                                                                                        },
                                                                                                        "resource": {
                                                                                                            "description": "Required: resource to select",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "resource"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "secretKeyRef": {
                                                                                                    "description": "Selects a key of a secret in the pod's namespace",
                                                                                                    "properties": {
                                                                                                        "key": {
                                                                                                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "name": {
                                                                                                            "default": "",
                                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "optional": {
                                                                                                            "description": "Specify whether the Secret or its key must be defined",
                                                                                                            "type": "boolean"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "key"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "hostAliases": {
                                                                                "description": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts\nfile if specified. This is only valid for non-hostNetwork pods.",
                                                                                "items": {
                                                                                    "description": "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the\npod's hosts file.",
                                                                                    "properties": {
                                                                                        "hostnames": {
                                                                                            "description": "Hostnames for the above IP address.",
                                                                                            "items": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        },
                                                                                        "ip": {
                                                                                            "description": "IP address of the host file entry.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "ip"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "hostNetwork": {
                                                                                "description": "HostNetwork specifies whether the pod may use the node network namespace",
                                                                                "type": "boolean"
                                                                            },
                                                                            "imagePullSecrets": {
                                                                                "description": "ImagePullSecrets gives the name of the secret used by the pod to pull the image if specified",
                                                                                "items": {
                                                                                    "description": "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "default": "",
                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object",
                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "nodeSelector": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "description": "NodeSelector is a selector which must be true for the pod to fit on a node.\nSelector which must match a node's labels for the pod to be scheduled on that node.\nMore info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
                                                                                "type": "object"
                                                                            },
                                                                            "priorityClassName": {
                                                                                "description": "If specified, indicates the pod's priority. \"system-node-critical\" and\n\"system-cluster-critical\" are two special keywords which indicate the\nhighest priorities with the former being the highest priority. Any other\nname must be defined by creating a PriorityClass object with that name.\nIf not specified, the pod priority will be default or zero if there is no\ndefault.",
                                                                                "type": "string"
                                                                            },
                                                                            "runtimeClassName": {
                                                                                "description": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io\ngroup, which should be used to run this pod. If no RuntimeClass resource\nmatches the named class, the pod will not be run. If unset or empty, the\n\"legacy\" RuntimeClass will be used, which is an implicit class with an\nempty definition that uses the default runtime handler.\nMore info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md\nThis is a beta feature as of Kubernetes v1.14.",
                                                                                "type": "string"
                                                                            },
                                                                            "schedulerName": {
                                                                                "description": "SchedulerName specifies the scheduler to be used to dispatch the Pod",
                                                                                "type": "string"
                                                                            },
                                                                            "securityContext": {
                                                                                "description": "SecurityContext holds pod-level security attributes and common container settings.\nOptional: Defaults to empty.  See type description for default values of each field.\nSee Pod.spec.securityContext (API version: v1)",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            },
                                                                            "tolerations": {
                                                                                "description": "If specified, the pod's tolerations.",
                                                                                "items": {
                                                                                    "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.",
                                                                                    "properties": {
                                                                                        "effect": {
                                                                                            "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "key": {
                                                                                            "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "operator": {
                                                                                            "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "tolerationSeconds": {
                                                                                            "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.",
                                                                                            "format": "int64",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "value": {
                                                                                            "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "topologySpreadConstraints": {
                                                                                "description": "TopologySpreadConstraints controls how Pods are spread across your cluster among\nfailure-domains such as regions, zones, nodes, and other user-defined topology domains.",
                                                                                "items": {
                                                                                    "description": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.",
                                                                                    "properties": {
                                                                                        "labelSelector": {
                                                                                            "description": "LabelSelector is used to find matching pods.\nPods that match this label selector are counted to determine the number of pods\nin their corresponding topology domain.",
                                                                                            "properties": {
                                                                                                "matchExpressions": {
                                                                                                    "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                                    "items": {
                                                                                                        "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the label key that the selector applies to.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "operator": {
                                                                                                                "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "values": {
                                                                                                                "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                                "items": {
                                                                                                                    "type": "string"
                                                                                                                },
                                                                                                                "type": "array",
                                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "operator"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "matchLabels": {
                                                                                                    "additionalProperties": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                                    "type": "object"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "matchLabelKeys": {
                                                                                            "description": "MatchLabelKeys is a set of pod label keys to select the pods over which\nspreading will be calculated. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are ANDed with labelSelector\nto select the group of existing pods over which spreading will be calculated\nfor the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nMatchLabelKeys cannot be set when LabelSelector isn't set.\nKeys that don't exist in the incoming pod labels will\nbe ignored. A null or empty list means only match against labelSelector.\n\nThis is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).",
                                                                                            "items": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        },
                                                                                        "maxSkew": {
                                                                                            "description": "MaxSkew describes the degree to which pods may be unevenly distributed.\nWhen `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference\nbetween the number of matching pods in the target topology and the global minimum.\nThe global minimum is the minimum number of matching pods in an eligible domain\nor zero if the number of eligible domains is less than MinDomains.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 2/2/1:\nIn this case, the global minimum is 1.\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |   P   |\n- if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;\nscheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)\nviolate MaxSkew(1).\n- if MaxSkew is 2, incoming pod can be scheduled onto any zone.\nWhen `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence\nto topologies that satisfy it.\nIt's a required field. Default value is 1 and 0 is not allowed.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "minDomains": {
                                                                                            "description": "MinDomains indicates a minimum number of eligible domains.\nWhen the number of eligible domains with matching topology keys is less than minDomains,\nPod Topology Spread treats \"global minimum\" as 0, and then the calculation of Skew is performed.\nAnd when the number of eligible domains with matching topology keys equals or greater than minDomains,\nthis value has no effect on scheduling.\nAs a result, when the number of eligible domains is less than minDomains,\nscheduler won't schedule more than maxSkew Pods to those domains.\nIf value is nil, the constraint behaves as if MinDomains is equal to 1.\nValid values are integers greater than 0.\nWhen value is not nil, WhenUnsatisfiable must be DoNotSchedule.\n\nFor example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same\nlabelSelector spread as 2/2/2:\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |  P P  |\nThe number of domains is less than 5(MinDomains), so \"global minimum\" is treated as 0.\nIn this situation, new pod with the same labelSelector cannot be scheduled,\nbecause computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,\nit will violate MaxSkew.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "nodeAffinityPolicy": {
                                                                                            "description": "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector\nwhen calculating pod topology spread skew. Options are:\n- Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.\n- Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.\n\nIf this value is nil, the behavior is equivalent to the Honor policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "nodeTaintsPolicy": {
                                                                                            "description": "NodeTaintsPolicy indicates how we will treat node taints when calculating\npod topology spread skew. Options are:\n- Honor: nodes without taints, along with tainted nodes for which the incoming pod\nhas a toleration, are included.\n- Ignore: node taints are ignored. All nodes are included.\n\nIf this value is nil, the behavior is equivalent to the Ignore policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "topologyKey": {
                                                                                            "description": "TopologyKey is the key of node labels. Nodes that have a label with this key\nand identical values are considered to be in the same topology.\nWe consider each \u003ckey, value\u003e as a \"bucket\", and try to put balanced number\nof pods into each bucket.\nWe define a domain as a particular instance of a topology.\nAlso, we define an eligible domain as a domain whose nodes meet the requirements of\nnodeAffinityPolicy and nodeTaintsPolicy.\ne.g. If TopologyKey is \"kubernetes.io/hostname\", each Node is a domain of that topology.\nAnd, if TopologyKey is \"topology.kubernetes.io/zone\", each zone is a domain of that topology.\nIt's a required field.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "whenUnsatisfiable": {
                                                                                            "description": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy\nthe spread constraint.\n- DoNotSchedule (default) tells the scheduler not to schedule it.\n- ScheduleAnyway tells the scheduler to schedule the pod in any location,\n  but giving higher precedence to topologies that would help reduce the\n  skew.\nA constraint is considered \"Unsatisfiable\" for an incoming pod\nif and only if every possible node assignment for that pod would violate\n\"MaxSkew\" on some topology.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 3/1/1:\n| zone1 | zone2 | zone3 |\n| P P P |   P   |   P   |\nIf WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled\nto zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies\nMaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler\nwon't make it *more* imbalanced.\nIt's a required field.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "maxSkew",
                                                                                        "topologyKey",
                                                                                        "whenUnsatisfiable"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "volumes": {
                                                                                "description": "List of volumes that can be mounted by containers belonging to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes\nSee Pod.spec.volumes (API version: v1)",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "taskServiceAccountName": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "timeout": {
                                                            "description": "Timeout is the Time after which the Pipeline times out.\nDefaults to never.\nRefer to Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration\n\nDeprecated: use pipelineRunSpec.Timeouts.Pipeline instead",
                                                            "type": "string"
                                                        },
                                                        "timeouts": {
                                                            "description": "Time after which the Pipeline times out.\nCurrently three keys are accepted in the map\npipeline, tasks and finally\nwith Timeouts.pipeline \u003e= Timeouts.tasks + Timeouts.finally",
                                                            "properties": {
                                                                "finally": {
                                                                    "description": "Finally sets the maximum allowed duration of this pipeline's finally",
                                                                    "type": "string"
                                                                },
                                                                "pipeline": {
                                                                    "description": "Pipeline sets the maximum allowed duration for execution of the entire pipeline. The sum of individual timeouts for tasks and finally must not exceed this value.",
                                                                    "type": "string"
                                                                },
                                                                "tasks": {
                                                                    "description": "Tasks sets the maximum allowed duration of this pipeline's tasks",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "workspaces": {
                                                            "description": "Workspaces holds a set of workspace bindings that must match names\nwith those declared in the pipeline.",
                                                            "items": {
                                                                "description": "WorkspaceBinding maps a Task's declared workspace to a Volume.",
                                                                "properties": {
                                                                    "configMap": {
                                                                        "description": "ConfigMap represents a configMap that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode is optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDefaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "items": {
                                                                                "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                "items": {
                                                                                    "description": "Maps a string key to a path within a volume.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "description": "key is the key to project.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mode": {
                                                                                            "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "path"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "name": {
                                                                                "default": "",
                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                "type": "string"
                                                                            },
                                                                            "optional": {
                                                                                "description": "optional specify whether the ConfigMap or its keys must be defined",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "type": "object",
                                                                        "x-kubernetes-map-type": "atomic"
                                                                    },
                                                                    "csi": {
                                                                        "description": "CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.",
                                                                        "properties": {
                                                                            "driver": {
                                                                                "description": "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster.",
                                                                                "type": "string"
                                                                            },
                                                                            "fsType": {
                                                                                "description": "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply.",
                                                                                "type": "string"
                                                                            },
                                                                            "nodePublishSecretRef": {
                                                                                "description": "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and  may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write).",
                                                                                "type": "boolean"
                                                                            },
                                                                            "volumeAttributes": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "description": "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values.",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "driver"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "emptyDir": {
                                                                        "description": "EmptyDir represents a temporary directory that shares a Task's lifetime.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir\nEither this OR PersistentVolumeClaim can be used.",
                                                                        "properties": {
                                                                            "medium": {
                                                                                "description": "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
                                                                                "type": "string"
                                                                            },
                                                                            "sizeLimit": {
                                                                                "anyOf": [
                                                                                    {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ],
                                                                                "description": "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                "x-kubernetes-int-or-string": true
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of the workspace populated by the volume.",
                                                                        "type": "string"
                                                                    },
                                                                    "persistentVolumeClaim": {
                                                                        "description": "PersistentVolumeClaimVolumeSource represents a reference to a\nPersistentVolumeClaim in the same namespace. Either this OR EmptyDir can be used.",
                                                                        "properties": {
                                                                            "claimName": {
                                                                                "description": "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false.",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "claimName"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "projected": {
                                                                        "description": "Projected represents a projected volume that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode are the mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "sources": {
                                                                                "description": "sources is the list of volume projections. Each entry in this list\nhandles one source.",
                                                                                "items": {
                                                                                    "description": "Projection that may be projected along with other supported volume types.\nExactly one of these fields must be set.",
                                                                                    "properties": {
                                                                                        "clusterTrustBundle": {
                                                                                            "description": "ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field\nof ClusterTrustBundle objects in an auto-updating file.\n\nAlpha, gated by the ClusterTrustBundleProjection feature gate.\n\nClusterTrustBundle objects can either be selected by name, or by the\ncombination of signer name and a label selector.\n\nKubelet performs aggressive normalization of the PEM contents written\ninto the pod filesystem.  Esoteric PEM features such as inter-block\ncomments and block headers are stripped.  Certificates are deduplicated.\nThe ordering of certificates within the file is arbitrary, and Kubelet\nmay change the order over time.",
                                                                                            "properties": {
                                                                                                "labelSelector": {
                                                                                                    "description": "Select all ClusterTrustBundles that match this label selector.  Only has\neffect if signerName is set.  Mutually-exclusive with name.  If unset,\ninterpreted as \"match nothing\".  If set but empty, interpreted as \"match\neverything\".",
                                                                                                    "properties": {
                                                                                                        "matchExpressions": {
                                                                                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                                            "items": {
                                                                                                                "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                                                "properties": {
                                                                                                                    "key": {
                                                                                                                        "description": "key is the label key that the selector applies to.",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "operator": {
                                                                                                                        "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "values": {
                                                                                                                        "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                                        "items": {
                                                                                                                            "type": "string"
                                                                                                                        },
                                                                                                                        "type": "array",
                                                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "key",
                                                                                                                    "operator"
                                                                                                                ],
                                                                                                                "type": "object"
                                                                                                            },
                                                                                                            "type": "array",
                                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                                        },
                                                                                                        "matchLabels": {
                                                                                                            "additionalProperties": {
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                                            "type": "object"
                                                                                                        }
                                                                                                    },
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "description": "Select a single ClusterTrustBundle by object name.  Mutually-exclusive\nwith signerName and labelSelector.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "If true, don't block pod startup if the referenced ClusterTrustBundle(s)\naren't available.  If using name, then the named ClusterTrustBundle is\nallowed not to exist.  If using signerName, then the combination of\nsignerName and labelSelector is allowed to match zero\nClusterTrustBundles.",
                                                                                                    "type": "boolean"
                                                                                                },
                                                                                                "path": {
                                                                                                    "description": "Relative path from the volume root to write the bundle.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "signerName": {
                                                                                                    "description": "Select all ClusterTrustBundles that match this signer name.\nMutually-exclusive with name.  The contents of all selected\nClusterTrustBundles will be unified and deduplicated.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "path"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "configMap": {
                                                                                            "description": "configMap information about the configMap data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                                    "items": {
                                                                                                        "description": "Maps a string key to a path within a volume.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the key to project.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "optional specify whether the ConfigMap or its keys must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "downwardAPI": {
                                                                                            "description": "downwardAPI information about the downwardAPI data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "Items is a list of DownwardAPIVolume file",
                                                                                                    "items": {
                                                                                                        "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field",
                                                                                                        "properties": {
                                                                                                            "fieldRef": {
                                                                                                                "description": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.",
                                                                                                                "properties": {
                                                                                                                    "apiVersion": {
                                                                                                                        "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "fieldPath": {
                                                                                                                        "description": "Path of the field to select in the specified API version.",
                                                                                                                        "type": "string"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "fieldPath"
                                                                                                                ],
                                                                                                                "type": "object",
                                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "Required: Path is  the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "resourceFieldRef": {
                                                                                                                "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.",
                                                                                                                "properties": {
                                                                                                                    "containerName": {
                                                                                                                        "description": "Container name: required for volumes, optional for env vars",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "divisor": {
                                                                                                                        "anyOf": [
                                                                                                                            {
                                                                                                                                "type": "integer"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "type": "string"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                                    },
                                                                                                                    "resource": {
                                                                                                                        "description": "Required: resource to select",
                                                                                                                        "type": "string"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "resource"
                                                                                                                ],
                                                                                                                "type": "object",
                                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "secret": {
                                                                                            "description": "secret information about the secret data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                                    "items": {
                                                                                                        "description": "Maps a string key to a path within a volume.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the key to project.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "optional field specify whether the Secret or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "serviceAccountToken": {
                                                                                            "description": "serviceAccountToken is information about the serviceAccountToken data to project",
                                                                                            "properties": {
                                                                                                "audience": {
                                                                                                    "description": "audience is the intended audience of the token. A recipient of a token\nmust identify itself with an identifier specified in the audience of the\ntoken, and otherwise should reject the token. The audience defaults to the\nidentifier of the apiserver.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "expirationSeconds": {
                                                                                                    "description": "expirationSeconds is the requested duration of validity of the service\naccount token. As the token approaches expiration, the kubelet volume\nplugin will proactively rotate the service account token. The kubelet will\nstart trying to rotate the token if the token is older than 80 percent of\nits time to live or if the token is older than 24 hours.Defaults to 1 hour\nand must be at least 10 minutes.",
                                                                                                    "format": "int64",
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                "path": {
                                                                                                    "description": "path is the path relative to the mount point of the file to project the\ntoken into.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "path"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "secret": {
                                                                        "description": "Secret represents a secret that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode is Optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values\nfor mode bits. Defaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "items": {
                                                                                "description": "items If unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                "items": {
                                                                                    "description": "Maps a string key to a path within a volume.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "description": "key is the key to project.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mode": {
                                                                                            "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "path"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "optional": {
                                                                                "description": "optional field specify whether the Secret or its keys must be defined",
                                                                                "type": "boolean"
                                                                            },
                                                                            "secretName": {
                                                                                "description": "secretName is the name of the secret in the pod's namespace to use.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "subPath": {
                                                                        "description": "SubPath is optionally a directory on the volume which should be used\nfor this binding (i.e. the volume will be mounted at this sub directory).",
                                                                        "type": "string"
                                                                    },
                                                                    "volumeClaimTemplate": {
                                                                        "description": "VolumeClaimTemplate is a template for a claim that will be created in the same namespace.\nThe PipelineRun controller is responsible for creating a unique claim for each instance of PipelineRun.\nSee PersistentVolumeClaim (API version: v1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "status": {
                                                    "description": "PipelineRunStatus defines the observed state of PipelineRun",
                                                    "properties": {
                                                        "annotations": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
                                                            "type": "object"
                                                        },
                                                        "childReferences": {
                                                            "description": "list of TaskRun and Run names, PipelineTask names, and API versions/kinds for children of this PipelineRun.",
                                                            "items": {
                                                                "description": "ChildStatusReference is used to point to the statuses of individual TaskRuns and Runs within this PipelineRun.",
                                                                "properties": {
                                                                    "apiVersion": {
                                                                        "type": "string"
                                                                    },
                                                                    "displayName": {
                                                                        "description": "DisplayName is a user-facing name of the pipelineTask that may be\nused to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "kind": {
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of the TaskRun or Run this is referencing.",
                                                                        "type": "string"
                                                                    },
                                                                    "pipelineTaskName": {
                                                                        "description": "PipelineTaskName is the name of the PipelineTask this is referencing.",
                                                                        "type": "string"
                                                                    },
                                                                    "whenExpressions": {
                                                                        "description": "WhenExpressions is the list of checks guarding the execution of the PipelineTask",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "completionTime": {
                                                            "description": "CompletionTime is the time the PipelineRun completed.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "conditions": {
                                                            "description": "Conditions the latest available observations of a resource's current state.",
                                                            "items": {
                                                                "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
                                                                "properties": {
                                                                    "lastTransitionTime": {
                                                                        "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                                                                        "type": "string"
                                                                    },
                                                                    "message": {
                                                                        "description": "A human readable message indicating details about the transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "reason": {
                                                                        "description": "The reason for the condition's last transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "severity": {
                                                                        "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                                                                        "type": "string"
                                                                    },
                                                                    "status": {
                                                                        "description": "Status of the condition, one of True, False, Unknown.",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type of condition.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "status",
                                                                    "type"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "finallyStartTime": {
                                                            "description": "FinallyStartTime is when all non-finally tasks have been completed and only finally tasks are being executed.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "observedGeneration": {
                                                            "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
                                                            "format": "int64",
                                                            "type": "integer"
                                                        },
                                                        "pipelineResults": {
                                                            "description": "PipelineResults are the list of results written out by the pipeline task's containers",
                                                            "items": {
                                                                "description": "PipelineRunResult used to describe the results of a pipeline",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name is the result's name as declared by the Pipeline",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Value is the result returned from the execution of this PipelineRun",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "pipelineSpec": {
                                                            "description": "PipelineSpec contains the exact spec used to instantiate the run.\nSee Pipeline.spec (API version: tekton.dev/v1beta1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "provenance": {
                                                            "description": "Provenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).",
                                                            "properties": {
                                                                "configSource": {
                                                                    "description": "Deprecated: Use RefSource instead",
                                                                    "properties": {
                                                                        "digest": {
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                            "type": "object"
                                                                        },
                                                                        "entryPoint": {
                                                                            "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                            "type": "string"
                                                                        },
                                                                        "uri": {
                                                                            "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "featureFlags": {
                                                                    "description": "FeatureFlags identifies the feature flags that were used during the task/pipeline run",
                                                                    "properties": {
                                                                        "awaitSidecarReadiness": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "coschedule": {
                                                                            "type": "string"
                                                                        },
                                                                        "disableCredsInit": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "disableInlineSpec": {
                                                                            "type": "string"
                                                                        },
                                                                        "enableAPIFields": {
                                                                            "type": "string"
                                                                        },
                                                                        "enableArtifacts": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableCELInWhenExpression": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableConciseResolverSyntax": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableKeepPodOnCancel": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableKubernetesSidecar": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableParamEnum": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableProvenanceInStatus": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableStepActions": {
                                                                            "description": "EnableStepActions is a no-op flag since StepActions are stable",
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableWaitExponentialBackoff": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enforceNonfalsifiability": {
                                                                            "type": "string"
                                                                        },
                                                                        "maxResultSize": {
                                                                            "type": "integer"
                                                                        },
                                                                        "requireGitSSHSecretKnownHosts": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "resultExtractionMethod": {
                                                                            "type": "string"
                                                                        },
                                                                        "runningInEnvWithInjectedSidecars": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "sendCloudEventsForRuns": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "setSecurityContext": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "setSecurityContextReadOnlyRootFilesystem": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "verificationNoMatchPolicy": {
                                                                            "description": "VerificationNoMatchPolicy is the feature flag for \"trusted-resources-verification-no-match-policy\"\nVerificationNoMatchPolicy can be set to \"ignore\", \"warn\" and \"fail\" values.\nignore: skip trusted resources verification when no matching verification policies found\nwarn: skip trusted resources verification when no matching verification policies found and log a warning\nfail: fail the taskrun or pipelines run if no matching verification policies found",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "refSource": {
                                                                    "description": "RefSource identifies the source where a remote task/pipeline came from.",
                                                                    "properties": {
                                                                        "digest": {
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                            "type": "object"
                                                                        },
                                                                        "entryPoint": {
                                                                            "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                            "type": "string"
                                                                        },
                                                                        "uri": {
                                                                            "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "runs": {
                                                            "additionalProperties": {
                                                                "description": "PipelineRunRunStatus contains the name of the PipelineTask for this CustomRun or Run and the CustomRun or Run's Status",
                                                                "properties": {
                                                                    "pipelineTaskName": {
                                                                        "description": "PipelineTaskName is the name of the PipelineTask.",
                                                                        "type": "string"
                                                                    },
                                                                    "status": {
                                                                        "description": "Status is the CustomRunStatus for the corresponding CustomRun or Run",
                                                                        "properties": {
                                                                            "annotations": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
                                                                                "type": "object"
                                                                            },
                                                                            "completionTime": {
                                                                                "description": "CompletionTime is the time the build completed.",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            },
                                                                            "conditions": {
                                                                                "description": "Conditions the latest available observations of a resource's current state.",
                                                                                "items": {
                                                                                    "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
                                                                                    "properties": {
                                                                                        "lastTransitionTime": {
                                                                                            "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "message": {
                                                                                            "description": "A human readable message indicating details about the transition.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "reason": {
                                                                                            "description": "The reason for the condition's last transition.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "severity": {
                                                                                            "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "status": {
                                                                                            "description": "Status of the condition, one of True, False, Unknown.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": {
                                                                                            "description": "Type of condition.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "status",
                                                                                        "type"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array"
                                                                            },
                                                                            "extraFields": {
                                                                                "description": "ExtraFields holds arbitrary fields provided by the custom task\ncontroller.",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            },
                                                                            "observedGeneration": {
                                                                                "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "results": {
                                                                                "description": "Results reports any output result values to be consumed by later\ntasks in a pipeline.",
                                                                                "items": {
                                                                                    "description": "CustomRunResult used to describe the results of a task",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name the given name",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "description": "Value the given value of the result",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array"
                                                                            },
                                                                            "retriesStatus": {
                                                                                "description": "RetriesStatus contains the history of CustomRunStatus, in case of a retry.\nSee CustomRun.status (API version: tekton.dev/v1beta1)",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            },
                                                                            "startTime": {
                                                                                "description": "StartTime is the time the build is actually started.",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "whenExpressions": {
                                                                        "description": "WhenExpressions is the list of checks guarding the execution of the PipelineTask",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "description": "Runs is a map of PipelineRunRunStatus with the run name as the key\n\nDeprecated: use ChildReferences instead. As of v0.45.0, this field is no\nlonger populated and is only included for backwards compatibility with\nolder server versions.",
                                                            "type": "object"
                                                        },
                                                        "skippedTasks": {
                                                            "description": "list of tasks that were skipped due to when expressions evaluating to false",
                                                            "items": {
                                                                "description": "SkippedTask is used to describe the Tasks that were skipped due to their When Expressions\nevaluating to False. This is a struct because we are looking into including more details\nabout the When Expressions that caused this Task to be skipped.",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name is the Pipeline Task name",
                                                                        "type": "string"
                                                                    },
                                                                    "reason": {
                                                                        "description": "Reason is the cause of the PipelineTask being skipped.",
                                                                        "type": "string"
                                                                    },
                                                                    "whenExpressions": {
                                                                        "description": "WhenExpressions is the list of checks guarding the execution of the PipelineTask",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "reason"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "spanContext": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "SpanContext contains tracing span context fields",
                                                            "type": "object"
                                                        },
                                                        "startTime": {
                                                            "description": "StartTime is the time the PipelineRun is actually started.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "taskRuns": {
                                                            "additionalProperties": {
                                                                "description": "PipelineRunTaskRunStatus contains the name of the PipelineTask for this TaskRun and the TaskRun's Status",
                                                                "properties": {
                                                                    "pipelineTaskName": {
                                                                        "description": "PipelineTaskName is the name of the PipelineTask.",
                                                                        "type": "string"
                                                                    },
                                                                    "status": {
                                                                        "description": "Status is the TaskRunStatus for the corresponding TaskRun",
                                                                        "properties": {
                                                                            "annotations": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
                                                                                "type": "object"
                                                                            },
                                                                            "cloudEvents": {
                                                                                "description": "CloudEvents describe the state of each cloud event requested via a\nCloudEventResource.\n\nDeprecated: Removed in v0.44.0.",
                                                                                "items": {
                                                                                    "description": "CloudEventDelivery is the target of a cloud event along with the state of\ndelivery.",
                                                                                    "properties": {
                                                                                        "status": {
                                                                                            "description": "CloudEventDeliveryState reports the state of a cloud event to be sent.",
                                                                                            "properties": {
                                                                                                "condition": {
                                                                                                    "description": "Current status",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "message": {
                                                                                                    "description": "Error is the text of error (if any)",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "retryCount": {
                                                                                                    "description": "RetryCount is the number of attempts of sending the cloud event",
                                                                                                    "format": "int32",
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                "sentAt": {
                                                                                                    "description": "SentAt is the time at which the last attempt to send the event was made",
                                                                                                    "format": "date-time",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "message",
                                                                                                "retryCount"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "target": {
                                                                                            "description": "Target points to an addressable",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "completionTime": {
                                                                                "description": "CompletionTime is the time the build completed.",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            },
                                                                            "conditions": {
                                                                                "description": "Conditions the latest available observations of a resource's current state.",
                                                                                "items": {
                                                                                    "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
                                                                                    "properties": {
                                                                                        "lastTransitionTime": {
                                                                                            "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "message": {
                                                                                            "description": "A human readable message indicating details about the transition.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "reason": {
                                                                                            "description": "The reason for the condition's last transition.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "severity": {
                                                                                            "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "status": {
                                                                                            "description": "Status of the condition, one of True, False, Unknown.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": {
                                                                                            "description": "Type of condition.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "status",
                                                                                        "type"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array"
                                                                            },
                                                                            "observedGeneration": {
                                                                                "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "podName": {
                                                                                "description": "PodName is the name of the pod responsible for executing this task's steps.",
                                                                                "type": "string"
                                                                            },
                                                                            "provenance": {
                                                                                "description": "Provenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).",
                                                                                "properties": {
                                                                                    "configSource": {
                                                                                        "description": "Deprecated: Use RefSource instead",
                                                                                        "properties": {
                                                                                            "digest": {
                                                                                                "additionalProperties": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                                                "type": "object"
                                                                                            },
                                                                                            "entryPoint": {
                                                                                                "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "uri": {
                                                                                                "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "featureFlags": {
                                                                                        "description": "FeatureFlags identifies the feature flags that were used during the task/pipeline run",
                                                                                        "properties": {
                                                                                            "awaitSidecarReadiness": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "coschedule": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "disableCredsInit": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "disableInlineSpec": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "enableAPIFields": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "enableArtifacts": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "enableCELInWhenExpression": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "enableConciseResolverSyntax": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "enableKeepPodOnCancel": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "enableKubernetesSidecar": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "enableParamEnum": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "enableProvenanceInStatus": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "enableStepActions": {
                                                                                                "description": "EnableStepActions is a no-op flag since StepActions are stable",
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "enableWaitExponentialBackoff": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "enforceNonfalsifiability": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "maxResultSize": {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            "requireGitSSHSecretKnownHosts": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "resultExtractionMethod": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "runningInEnvWithInjectedSidecars": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "sendCloudEventsForRuns": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "setSecurityContext": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "setSecurityContextReadOnlyRootFilesystem": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "verificationNoMatchPolicy": {
                                                                                                "description": "VerificationNoMatchPolicy is the feature flag for \"trusted-resources-verification-no-match-policy\"\nVerificationNoMatchPolicy can be set to \"ignore\", \"warn\" and \"fail\" values.\nignore: skip trusted resources verification when no matching verification policies found\nwarn: skip trusted resources verification when no matching verification policies found and log a warning\nfail: fail the taskrun or pipelines run if no matching verification policies found",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "refSource": {
                                                                                        "description": "RefSource identifies the source where a remote task/pipeline came from.",
                                                                                        "properties": {
                                                                                            "digest": {
                                                                                                "additionalProperties": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                                                "type": "object"
                                                                                            },
                                                                                            "entryPoint": {
                                                                                                "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "uri": {
                                                                                                "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "resourcesResult": {
                                                                                "description": "Results from Resources built during the TaskRun.\nThis is tomb-stoned along with the removal of pipelineResources\nDeprecated: this field is not populated and is preserved only for backwards compatibility",
                                                                                "items": {
                                                                                    "description": "RunResult is used to write key/value pairs to TaskRun pod termination messages.\nThe key/value pairs may come from the entrypoint binary, or represent a TaskRunResult.\nIf they represent a TaskRunResult, the key is the name of the result and the value is the\nJSON-serialized value of the result.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "resourceName": {
                                                                                            "description": "ResourceName may be used in tests, but it is not populated in termination messages.\nIt is preserved here for backwards compatibility and will not be ported to v1.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": {
                                                                                            "description": "ResultType used to find out whether a RunResult is from a task result or not\nNote that ResultsType is another type which is used to define the data type\n(e.g. string, array, etc) we used for Results",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "value": {
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "retriesStatus": {
                                                                                "description": "RetriesStatus contains the history of TaskRunStatus in case of a retry in order to keep record of failures.\nAll TaskRunStatus stored in RetriesStatus will have no date within the RetriesStatus as is redundant.\nSee TaskRun.status (API version: tekton.dev/v1beta1)",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            },
                                                                            "sidecars": {
                                                                                "description": "The list has one entry per sidecar in the manifest. Each entry is\nrepresents the imageid of the corresponding sidecar.",
                                                                                "items": {
                                                                                    "description": "SidecarState reports the results of running a sidecar in a Task.",
                                                                                    "properties": {
                                                                                        "container": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "imageID": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "running": {
                                                                                            "description": "Details about a running container",
                                                                                            "properties": {
                                                                                                "startedAt": {
                                                                                                    "description": "Time at which the container was last (re-)started",
                                                                                                    "format": "date-time",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "terminated": {
                                                                                            "description": "Details about a terminated container",
                                                                                            "properties": {
                                                                                                "containerID": {
                                                                                                    "description": "Container's ID in the format '\u003ctype\u003e://\u003ccontainer_id\u003e'",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "exitCode": {
                                                                                                    "description": "Exit status from the last termination of the container",
                                                                                                    "format": "int32",
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                "finishedAt": {
                                                                                                    "description": "Time at which the container last terminated",
                                                                                                    "format": "date-time",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "message": {
                                                                                                    "description": "Message regarding the last termination of the container",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "reason": {
                                                                                                    "description": "(brief) reason from the last termination of the container",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "signal": {
                                                                                                    "description": "Signal from the last termination of the container",
                                                                                                    "format": "int32",
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                "startedAt": {
                                                                                                    "description": "Time at which previous execution of the container started",
                                                                                                    "format": "date-time",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "exitCode"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "waiting": {
                                                                                            "description": "Details about a waiting container",
                                                                                            "properties": {
                                                                                                "message": {
                                                                                                    "description": "Message regarding why the container is not yet running.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "reason": {
                                                                                                    "description": "(brief) reason the container is not yet running.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "spanContext": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "description": "SpanContext contains tracing span context fields",
                                                                                "type": "object"
                                                                            },
                                                                            "startTime": {
                                                                                "description": "StartTime is the time the build is actually started.",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            },
                                                                            "steps": {
                                                                                "description": "Steps describes the state of each build step container.",
                                                                                "items": {
                                                                                    "description": "StepState reports the results of running a step in a Task.",
                                                                                    "properties": {
                                                                                        "container": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "imageID": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "inputs": {
                                                                                            "items": {
                                                                                                "description": "Artifact represents an artifact within a system, potentially containing multiple values\nassociated with it.",
                                                                                                "properties": {
                                                                                                    "buildOutput": {
                                                                                                        "description": "Indicate if the artifact is a build output or a by-product",
                                                                                                        "type": "boolean"
                                                                                                    },
                                                                                                    "name": {
                                                                                                        "description": "The artifact's identifying category name",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "values": {
                                                                                                        "description": "A collection of values related to the artifact",
                                                                                                        "items": {
                                                                                                            "description": "ArtifactValue represents a specific value or data element within an Artifact.",
                                                                                                            "properties": {
                                                                                                                "digest": {
                                                                                                                    "additionalProperties": {
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "type": "object"
                                                                                                                },
                                                                                                                "uri": {
                                                                                                                    "type": "string"
                                                                                                                }
                                                                                                            },
                                                                                                            "type": "object"
                                                                                                        },
                                                                                                        "type": "array"
                                                                                                    }
                                                                                                },
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array"
                                                                                        },
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "outputs": {
                                                                                            "items": {
                                                                                                "description": "Artifact represents an artifact within a system, potentially containing multiple values\nassociated with it.",
                                                                                                "properties": {
                                                                                                    "buildOutput": {
                                                                                                        "description": "Indicate if the artifact is a build output or a by-product",
                                                                                                        "type": "boolean"
                                                                                                    },
                                                                                                    "name": {
                                                                                                        "description": "The artifact's identifying category name",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "values": {
                                                                                                        "description": "A collection of values related to the artifact",
                                                                                                        "items": {
                                                                                                            "description": "ArtifactValue represents a specific value or data element within an Artifact.",
                                                                                                            "properties": {
                                                                                                                "digest": {
                                                                                                                    "additionalProperties": {
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "type": "object"
                                                                                                                },
                                                                                                                "uri": {
                                                                                                                    "type": "string"
                                                                                                                }
                                                                                                            },
                                                                                                            "type": "object"
                                                                                                        },
                                                                                                        "type": "array"
                                                                                                    }
                                                                                                },
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array"
                                                                                        },
                                                                                        "provenance": {
                                                                                            "description": "Provenance contains metadata about resources used in the TaskRun/PipelineRun\nsuch as the source from where a remote build definition was fetched.\nThis field aims to carry minimum amoumt of metadata in *Run status so that\nTekton Chains can capture them in the provenance.",
                                                                                            "properties": {
                                                                                                "configSource": {
                                                                                                    "description": "Deprecated: Use RefSource instead",
                                                                                                    "properties": {
                                                                                                        "digest": {
                                                                                                            "additionalProperties": {
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                                                            "type": "object"
                                                                                                        },
                                                                                                        "entryPoint": {
                                                                                                            "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "uri": {
                                                                                                            "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "featureFlags": {
                                                                                                    "description": "FeatureFlags identifies the feature flags that were used during the task/pipeline run",
                                                                                                    "properties": {
                                                                                                        "awaitSidecarReadiness": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "coschedule": {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "disableCredsInit": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "disableInlineSpec": {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "enableAPIFields": {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "enableArtifacts": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "enableCELInWhenExpression": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "enableConciseResolverSyntax": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "enableKeepPodOnCancel": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "enableKubernetesSidecar": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "enableParamEnum": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "enableProvenanceInStatus": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "enableStepActions": {
                                                                                                            "description": "EnableStepActions is a no-op flag since StepActions are stable",
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "enableWaitExponentialBackoff": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "enforceNonfalsifiability": {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "maxResultSize": {
                                                                                                            "type": "integer"
                                                                                                        },
                                                                                                        "requireGitSSHSecretKnownHosts": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "resultExtractionMethod": {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "runningInEnvWithInjectedSidecars": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "sendCloudEventsForRuns": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "setSecurityContext": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "setSecurityContextReadOnlyRootFilesystem": {
                                                                                                            "type": "boolean"
                                                                                                        },
                                                                                                        "verificationNoMatchPolicy": {
                                                                                                            "description": "VerificationNoMatchPolicy is the feature flag for \"trusted-resources-verification-no-match-policy\"\nVerificationNoMatchPolicy can be set to \"ignore\", \"warn\" and \"fail\" values.\nignore: skip trusted resources verification when no matching verification policies found\nwarn: skip trusted resources verification when no matching verification policies found and log a warning\nfail: fail the taskrun or pipelines run if no matching verification policies found",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "refSource": {
                                                                                                    "description": "RefSource identifies the source where a remote task/pipeline came from.",
                                                                                                    "properties": {
                                                                                                        "digest": {
                                                                                                            "additionalProperties": {
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                                                            "type": "object"
                                                                                                        },
                                                                                                        "entryPoint": {
                                                                                                            "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "uri": {
                                                                                                            "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "type": "object"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "results": {
                                                                                            "items": {
                                                                                                "description": "TaskRunResult used to describe the results of a task",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "description": "Name the given name",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "type": {
                                                                                                        "description": "Type is the user-specified type of the result. The possible type\nis currently \"string\" and will support \"array\" in following work.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "value": {
                                                                                                        "description": "Value the given value of the result",
                                                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name",
                                                                                                    "value"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array"
                                                                                        },
                                                                                        "running": {
                                                                                            "description": "Details about a running container",
                                                                                            "properties": {
                                                                                                "startedAt": {
                                                                                                    "description": "Time at which the container was last (re-)started",
                                                                                                    "format": "date-time",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "terminated": {
                                                                                            "description": "Details about a terminated container",
                                                                                            "properties": {
                                                                                                "containerID": {
                                                                                                    "description": "Container's ID in the format '\u003ctype\u003e://\u003ccontainer_id\u003e'",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "exitCode": {
                                                                                                    "description": "Exit status from the last termination of the container",
                                                                                                    "format": "int32",
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                "finishedAt": {
                                                                                                    "description": "Time at which the container last terminated",
                                                                                                    "format": "date-time",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "message": {
                                                                                                    "description": "Message regarding the last termination of the container",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "reason": {
                                                                                                    "description": "(brief) reason from the last termination of the container",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "signal": {
                                                                                                    "description": "Signal from the last termination of the container",
                                                                                                    "format": "int32",
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                "startedAt": {
                                                                                                    "description": "Time at which previous execution of the container started",
                                                                                                    "format": "date-time",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "exitCode"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "waiting": {
                                                                                            "description": "Details about a waiting container",
                                                                                            "properties": {
                                                                                                "message": {
                                                                                                    "description": "Message regarding why the container is not yet running.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "reason": {
                                                                                                    "description": "(brief) reason the container is not yet running.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "taskResults": {
                                                                                "description": "TaskRunResults are the list of results written out by the task's containers",
                                                                                "items": {
                                                                                    "description": "TaskRunResult used to describe the results of a task",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name the given name",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": {
                                                                                            "description": "Type is the user-specified type of the result. The possible type\nis currently \"string\" and will support \"array\" in following work.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "description": "Value the given value of the result",
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "taskSpec": {
                                                                                "description": "TaskSpec contains the Spec from the dereferenced Task definition used to instantiate this TaskRun.\nSee Task.spec (API version tekton.dev/v1beta1)",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "podName"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "whenExpressions": {
                                                                        "description": "WhenExpressions is the list of checks guarding the execution of the PipelineTask",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "description": "TaskRuns is a map of PipelineRunTaskRunStatus with the taskRun name as the key.\n\nDeprecated: use ChildReferences instead. As of v0.45.0, this field is no\nlonger populated and is only included for backwards compatibility with\nolder server versions.",
                                                            "type": "object"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "additionalPrinterColumns": [
                                        {
                                            "jsonPath": ".status.conditions[?(@.type==\"Succeeded\")].status",
                                            "name": "Succeeded",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type==\"Succeeded\")].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.startTime",
                                            "name": "StartTime",
                                            "type": "date"
                                        },
                                        {
                                            "jsonPath": ".status.completionTime",
                                            "name": "CompletionTime",
                                            "type": "date"
                                        }
                                    ],
                                    "name": "v1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "PipelineRun represents a single execution of a Pipeline. PipelineRuns are how\nthe graph of Tasks declared in a Pipeline are executed; they specify inputs\nto Pipelines such as parameter values and capture operational aspects of the\nTasks execution such as service account and tolerations. Creating a\nPipelineRun creates TaskRuns for Tasks in the referenced Pipeline.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "PipelineRunSpec defines the desired state of PipelineRun",
                                                    "properties": {
                                                        "params": {
                                                            "description": "Params is a list of parameter names and values.",
                                                            "items": {
                                                                "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                "properties": {
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "pipelineRef": {
                                                            "description": "PipelineRef can be used to refer to a specific instance of a Pipeline.",
                                                            "properties": {
                                                                "apiVersion": {
                                                                    "description": "API version of the referent",
                                                                    "type": "string"
                                                                },
                                                                "name": {
                                                                    "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                    "type": "string"
                                                                },
                                                                "params": {
                                                                    "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                    "items": {
                                                                        "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name",
                                                                            "value"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "resolver": {
                                                                    "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "pipelineSpec": {
                                                            "description": "Specifying PipelineSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Pipeline.spec (API version: tekton.dev/v1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "status": {
                                                            "description": "Used for cancelling a pipelinerun (and maybe more later on)",
                                                            "type": "string"
                                                        },
                                                        "taskRunSpecs": {
                                                            "description": "TaskRunSpecs holds a set of runtime specs",
                                                            "items": {
                                                                "description": "PipelineTaskRunSpec  can be used to configure specific\nspecs for a concrete Task",
                                                                "properties": {
                                                                    "computeResources": {
                                                                        "description": "Compute resources to use for this TaskRun",
                                                                        "properties": {
                                                                            "claims": {
                                                                                "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                "items": {
                                                                                    "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "request": {
                                                                                            "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "name"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "limits": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            },
                                                                            "requests": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "metadata": {
                                                                        "description": "PipelineTaskMetadata contains the labels or annotations for an EmbeddedTask",
                                                                        "properties": {
                                                                            "annotations": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "labels": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "pipelineTaskName": {
                                                                        "type": "string"
                                                                    },
                                                                    "podTemplate": {
                                                                        "description": "PodTemplate holds pod specific configuration",
                                                                        "properties": {
                                                                            "affinity": {
                                                                                "description": "If specified, the pod's scheduling constraints.\nSee Pod.spec.affinity (API version: v1)",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            },
                                                                            "automountServiceAccountToken": {
                                                                                "description": "AutomountServiceAccountToken indicates whether pods running as this\nservice account should have an API token automatically mounted.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "dnsConfig": {
                                                                                "description": "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy.",
                                                                                "properties": {
                                                                                    "nameservers": {
                                                                                        "description": "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "options": {
                                                                                        "description": "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy.",
                                                                                        "items": {
                                                                                            "description": "PodDNSConfigOption defines DNS resolver options of a pod.",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "Name is this DNS resolver option's name.\nRequired.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "Value is this DNS resolver option's value.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "searches": {
                                                                                        "description": "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "dnsPolicy": {
                                                                                "description": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are\n'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig\nwill be merged with the policy selected with DNSPolicy.",
                                                                                "type": "string"
                                                                            },
                                                                            "enableServiceLinks": {
                                                                                "description": "EnableServiceLinks indicates whether information about services should be injected into pod's\nenvironment variables, matching the syntax of Docker links.\nOptional: Defaults to true.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "env": {
                                                                                "description": "List of environment variables that can be provided to the containers belonging to the pod.",
                                                                                "items": {
                                                                                    "description": "EnvVar represents an environment variable present in a Container.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "valueFrom": {
                                                                                            "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                            "properties": {
                                                                                                "configMapKeyRef": {
                                                                                                    "description": "Selects a key of a ConfigMap.",
                                                                                                    "properties": {
                                                                                                        "key": {
                                                                                                            "description": "The key to select.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "name": {
                                                                                                            "default": "",
                                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "optional": {
                                                                                                            "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                            "type": "boolean"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "key"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "fieldRef": {
                                                                                                    "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                                    "properties": {
                                                                                                        "apiVersion": {
                                                                                                            "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "fieldPath": {
                                                                                                            "description": "Path of the field to select in the specified API version.",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "fieldPath"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "resourceFieldRef": {
                                                                                                    "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                                    "properties": {
                                                                                                        "containerName": {
                                                                                                            "description": "Container name: required for volumes, optional for env vars",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "divisor": {
                                                                                                            "anyOf": [
                                                                                                                {
                                                                                                                    "type": "integer"
                                                                                                                },
                                                                                                                {
                                                                                                                    "type": "string"
                                                                                                                }
                                                                                                            ],
                                                                                                            "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                            "x-kubernetes-int-or-string": true
                                                                                                        },
                                                                                                        "resource": {
                                                                                                            "description": "Required: resource to select",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "resource"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "secretKeyRef": {
                                                                                                    "description": "Selects a key of a secret in the pod's namespace",
                                                                                                    "properties": {
                                                                                                        "key": {
                                                                                                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "name": {
                                                                                                            "default": "",
                                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "optional": {
                                                                                                            "description": "Specify whether the Secret or its key must be defined",
                                                                                                            "type": "boolean"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "key"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "hostAliases": {
                                                                                "description": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts\nfile if specified. This is only valid for non-hostNetwork pods.",
                                                                                "items": {
                                                                                    "description": "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the\npod's hosts file.",
                                                                                    "properties": {
                                                                                        "hostnames": {
                                                                                            "description": "Hostnames for the above IP address.",
                                                                                            "items": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        },
                                                                                        "ip": {
                                                                                            "description": "IP address of the host file entry.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "ip"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "hostNetwork": {
                                                                                "description": "HostNetwork specifies whether the pod may use the node network namespace",
                                                                                "type": "boolean"
                                                                            },
                                                                            "imagePullSecrets": {
                                                                                "description": "ImagePullSecrets gives the name of the secret used by the pod to pull the image if specified",
                                                                                "items": {
                                                                                    "description": "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "default": "",
                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object",
                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "nodeSelector": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "description": "NodeSelector is a selector which must be true for the pod to fit on a node.\nSelector which must match a node's labels for the pod to be scheduled on that node.\nMore info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
                                                                                "type": "object"
                                                                            },
                                                                            "priorityClassName": {
                                                                                "description": "If specified, indicates the pod's priority. \"system-node-critical\" and\n\"system-cluster-critical\" are two special keywords which indicate the\nhighest priorities with the former being the highest priority. Any other\nname must be defined by creating a PriorityClass object with that name.\nIf not specified, the pod priority will be default or zero if there is no\ndefault.",
                                                                                "type": "string"
                                                                            },
                                                                            "runtimeClassName": {
                                                                                "description": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io\ngroup, which should be used to run this pod. If no RuntimeClass resource\nmatches the named class, the pod will not be run. If unset or empty, the\n\"legacy\" RuntimeClass will be used, which is an implicit class with an\nempty definition that uses the default runtime handler.\nMore info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md\nThis is a beta feature as of Kubernetes v1.14.",
                                                                                "type": "string"
                                                                            },
                                                                            "schedulerName": {
                                                                                "description": "SchedulerName specifies the scheduler to be used to dispatch the Pod",
                                                                                "type": "string"
                                                                            },
                                                                            "securityContext": {
                                                                                "description": "SecurityContext holds pod-level security attributes and common container settings.\nOptional: Defaults to empty.  See type description for default values of each field.\nSee Pod.spec.securityContext (API version: v1)",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            },
                                                                            "tolerations": {
                                                                                "description": "If specified, the pod's tolerations.",
                                                                                "items": {
                                                                                    "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.",
                                                                                    "properties": {
                                                                                        "effect": {
                                                                                            "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "key": {
                                                                                            "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "operator": {
                                                                                            "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "tolerationSeconds": {
                                                                                            "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.",
                                                                                            "format": "int64",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "value": {
                                                                                            "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "topologySpreadConstraints": {
                                                                                "description": "TopologySpreadConstraints controls how Pods are spread across your cluster among\nfailure-domains such as regions, zones, nodes, and other user-defined topology domains.",
                                                                                "items": {
                                                                                    "description": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.",
                                                                                    "properties": {
                                                                                        "labelSelector": {
                                                                                            "description": "LabelSelector is used to find matching pods.\nPods that match this label selector are counted to determine the number of pods\nin their corresponding topology domain.",
                                                                                            "properties": {
                                                                                                "matchExpressions": {
                                                                                                    "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                                    "items": {
                                                                                                        "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the label key that the selector applies to.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "operator": {
                                                                                                                "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "values": {
                                                                                                                "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                                "items": {
                                                                                                                    "type": "string"
                                                                                                                },
                                                                                                                "type": "array",
                                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "operator"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "matchLabels": {
                                                                                                    "additionalProperties": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                                    "type": "object"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "matchLabelKeys": {
                                                                                            "description": "MatchLabelKeys is a set of pod label keys to select the pods over which\nspreading will be calculated. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are ANDed with labelSelector\nto select the group of existing pods over which spreading will be calculated\nfor the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nMatchLabelKeys cannot be set when LabelSelector isn't set.\nKeys that don't exist in the incoming pod labels will\nbe ignored. A null or empty list means only match against labelSelector.\n\nThis is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).",
                                                                                            "items": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        },
                                                                                        "maxSkew": {
                                                                                            "description": "MaxSkew describes the degree to which pods may be unevenly distributed.\nWhen `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference\nbetween the number of matching pods in the target topology and the global minimum.\nThe global minimum is the minimum number of matching pods in an eligible domain\nor zero if the number of eligible domains is less than MinDomains.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 2/2/1:\nIn this case, the global minimum is 1.\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |   P   |\n- if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;\nscheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)\nviolate MaxSkew(1).\n- if MaxSkew is 2, incoming pod can be scheduled onto any zone.\nWhen `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence\nto topologies that satisfy it.\nIt's a required field. Default value is 1 and 0 is not allowed.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "minDomains": {
                                                                                            "description": "MinDomains indicates a minimum number of eligible domains.\nWhen the number of eligible domains with matching topology keys is less than minDomains,\nPod Topology Spread treats \"global minimum\" as 0, and then the calculation of Skew is performed.\nAnd when the number of eligible domains with matching topology keys equals or greater than minDomains,\nthis value has no effect on scheduling.\nAs a result, when the number of eligible domains is less than minDomains,\nscheduler won't schedule more than maxSkew Pods to those domains.\nIf value is nil, the constraint behaves as if MinDomains is equal to 1.\nValid values are integers greater than 0.\nWhen value is not nil, WhenUnsatisfiable must be DoNotSchedule.\n\nFor example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same\nlabelSelector spread as 2/2/2:\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |  P P  |\nThe number of domains is less than 5(MinDomains), so \"global minimum\" is treated as 0.\nIn this situation, new pod with the same labelSelector cannot be scheduled,\nbecause computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,\nit will violate MaxSkew.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "nodeAffinityPolicy": {
                                                                                            "description": "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector\nwhen calculating pod topology spread skew. Options are:\n- Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.\n- Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.\n\nIf this value is nil, the behavior is equivalent to the Honor policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "nodeTaintsPolicy": {
                                                                                            "description": "NodeTaintsPolicy indicates how we will treat node taints when calculating\npod topology spread skew. Options are:\n- Honor: nodes without taints, along with tainted nodes for which the incoming pod\nhas a toleration, are included.\n- Ignore: node taints are ignored. All nodes are included.\n\nIf this value is nil, the behavior is equivalent to the Ignore policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "topologyKey": {
                                                                                            "description": "TopologyKey is the key of node labels. Nodes that have a label with this key\nand identical values are considered to be in the same topology.\nWe consider each \u003ckey, value\u003e as a \"bucket\", and try to put balanced number\nof pods into each bucket.\nWe define a domain as a particular instance of a topology.\nAlso, we define an eligible domain as a domain whose nodes meet the requirements of\nnodeAffinityPolicy and nodeTaintsPolicy.\ne.g. If TopologyKey is \"kubernetes.io/hostname\", each Node is a domain of that topology.\nAnd, if TopologyKey is \"topology.kubernetes.io/zone\", each zone is a domain of that topology.\nIt's a required field.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "whenUnsatisfiable": {
                                                                                            "description": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy\nthe spread constraint.\n- DoNotSchedule (default) tells the scheduler not to schedule it.\n- ScheduleAnyway tells the scheduler to schedule the pod in any location,\n  but giving higher precedence to topologies that would help reduce the\n  skew.\nA constraint is considered \"Unsatisfiable\" for an incoming pod\nif and only if every possible node assignment for that pod would violate\n\"MaxSkew\" on some topology.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 3/1/1:\n| zone1 | zone2 | zone3 |\n| P P P |   P   |   P   |\nIf WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled\nto zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies\nMaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler\nwon't make it *more* imbalanced.\nIt's a required field.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "maxSkew",
                                                                                        "topologyKey",
                                                                                        "whenUnsatisfiable"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "volumes": {
                                                                                "description": "List of volumes that can be mounted by containers belonging to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes\nSee Pod.spec.volumes (API version: v1)",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "serviceAccountName": {
                                                                        "type": "string"
                                                                    },
                                                                    "sidecarSpecs": {
                                                                        "items": {
                                                                            "description": "TaskRunSidecarSpec is used to override the values of a Sidecar in the corresponding Task.",
                                                                            "properties": {
                                                                                "computeResources": {
                                                                                    "description": "The resource requirements to apply to the Sidecar.",
                                                                                    "properties": {
                                                                                        "claims": {
                                                                                            "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                            "items": {
                                                                                                "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "request": {
                                                                                                        "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-map-keys": [
                                                                                                "name"
                                                                                            ],
                                                                                            "x-kubernetes-list-type": "map"
                                                                                        },
                                                                                        "limits": {
                                                                                            "additionalProperties": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                            "type": "object"
                                                                                        },
                                                                                        "requests": {
                                                                                            "additionalProperties": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "name": {
                                                                                    "description": "The name of the Sidecar to override.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "computeResources",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "stepSpecs": {
                                                                        "items": {
                                                                            "description": "TaskRunStepSpec is used to override the values of a Step in the corresponding Task.",
                                                                            "properties": {
                                                                                "computeResources": {
                                                                                    "description": "The resource requirements to apply to the Step.",
                                                                                    "properties": {
                                                                                        "claims": {
                                                                                            "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                            "items": {
                                                                                                "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "request": {
                                                                                                        "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-map-keys": [
                                                                                                "name"
                                                                                            ],
                                                                                            "x-kubernetes-list-type": "map"
                                                                                        },
                                                                                        "limits": {
                                                                                            "additionalProperties": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                            "type": "object"
                                                                                        },
                                                                                        "requests": {
                                                                                            "additionalProperties": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "name": {
                                                                                    "description": "The name of the Step to override.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "computeResources",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "taskRunTemplate": {
                                                            "description": "TaskRunTemplate represent template of taskrun",
                                                            "properties": {
                                                                "podTemplate": {
                                                                    "description": "PodTemplate holds pod specific configuration",
                                                                    "properties": {
                                                                        "affinity": {
                                                                            "description": "If specified, the pod's scheduling constraints.\nSee Pod.spec.affinity (API version: v1)",
                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                        },
                                                                        "automountServiceAccountToken": {
                                                                            "description": "AutomountServiceAccountToken indicates whether pods running as this\nservice account should have an API token automatically mounted.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "dnsConfig": {
                                                                            "description": "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy.",
                                                                            "properties": {
                                                                                "nameservers": {
                                                                                    "description": "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed.",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                },
                                                                                "options": {
                                                                                    "description": "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy.",
                                                                                    "items": {
                                                                                        "description": "PodDNSConfigOption defines DNS resolver options of a pod.",
                                                                                        "properties": {
                                                                                            "name": {
                                                                                                "description": "Name is this DNS resolver option's name.\nRequired.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "value": {
                                                                                                "description": "Value is this DNS resolver option's value.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                },
                                                                                "searches": {
                                                                                    "description": "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed.",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "dnsPolicy": {
                                                                            "description": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are\n'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig\nwill be merged with the policy selected with DNSPolicy.",
                                                                            "type": "string"
                                                                        },
                                                                        "enableServiceLinks": {
                                                                            "description": "EnableServiceLinks indicates whether information about services should be injected into pod's\nenvironment variables, matching the syntax of Docker links.\nOptional: Defaults to true.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "env": {
                                                                            "description": "List of environment variables that can be provided to the containers belonging to the pod.",
                                                                            "items": {
                                                                                "description": "EnvVar represents an environment variable present in a Container.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "value": {
                                                                                        "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "valueFrom": {
                                                                                        "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                        "properties": {
                                                                                            "configMapKeyRef": {
                                                                                                "description": "Selects a key of a ConfigMap.",
                                                                                                "properties": {
                                                                                                    "key": {
                                                                                                        "description": "The key to select.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "name": {
                                                                                                        "default": "",
                                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "optional": {
                                                                                                        "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                        "type": "boolean"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "key"
                                                                                                ],
                                                                                                "type": "object",
                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                            },
                                                                                            "fieldRef": {
                                                                                                "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                                "properties": {
                                                                                                    "apiVersion": {
                                                                                                        "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "fieldPath": {
                                                                                                        "description": "Path of the field to select in the specified API version.",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "fieldPath"
                                                                                                ],
                                                                                                "type": "object",
                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                            },
                                                                                            "resourceFieldRef": {
                                                                                                "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                                "properties": {
                                                                                                    "containerName": {
                                                                                                        "description": "Container name: required for volumes, optional for env vars",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "divisor": {
                                                                                                        "anyOf": [
                                                                                                            {
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            {
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        ],
                                                                                                        "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                    },
                                                                                                    "resource": {
                                                                                                        "description": "Required: resource to select",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "resource"
                                                                                                ],
                                                                                                "type": "object",
                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                            },
                                                                                            "secretKeyRef": {
                                                                                                "description": "Selects a key of a secret in the pod's namespace",
                                                                                                "properties": {
                                                                                                    "key": {
                                                                                                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "name": {
                                                                                                        "default": "",
                                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "optional": {
                                                                                                        "description": "Specify whether the Secret or its key must be defined",
                                                                                                        "type": "boolean"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "key"
                                                                                                ],
                                                                                                "type": "object",
                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "name"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "hostAliases": {
                                                                            "description": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts\nfile if specified. This is only valid for non-hostNetwork pods.",
                                                                            "items": {
                                                                                "description": "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the\npod's hosts file.",
                                                                                "properties": {
                                                                                    "hostnames": {
                                                                                        "description": "Hostnames for the above IP address.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "ip": {
                                                                                        "description": "IP address of the host file entry.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "ip"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "hostNetwork": {
                                                                            "description": "HostNetwork specifies whether the pod may use the node network namespace",
                                                                            "type": "boolean"
                                                                        },
                                                                        "imagePullSecrets": {
                                                                            "description": "ImagePullSecrets gives the name of the secret used by the pod to pull the image if specified",
                                                                            "items": {
                                                                                "description": "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "nodeSelector": {
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "description": "NodeSelector is a selector which must be true for the pod to fit on a node.\nSelector which must match a node's labels for the pod to be scheduled on that node.\nMore info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
                                                                            "type": "object"
                                                                        },
                                                                        "priorityClassName": {
                                                                            "description": "If specified, indicates the pod's priority. \"system-node-critical\" and\n\"system-cluster-critical\" are two special keywords which indicate the\nhighest priorities with the former being the highest priority. Any other\nname must be defined by creating a PriorityClass object with that name.\nIf not specified, the pod priority will be default or zero if there is no\ndefault.",
                                                                            "type": "string"
                                                                        },
                                                                        "runtimeClassName": {
                                                                            "description": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io\ngroup, which should be used to run this pod. If no RuntimeClass resource\nmatches the named class, the pod will not be run. If unset or empty, the\n\"legacy\" RuntimeClass will be used, which is an implicit class with an\nempty definition that uses the default runtime handler.\nMore info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md\nThis is a beta feature as of Kubernetes v1.14.",
                                                                            "type": "string"
                                                                        },
                                                                        "schedulerName": {
                                                                            "description": "SchedulerName specifies the scheduler to be used to dispatch the Pod",
                                                                            "type": "string"
                                                                        },
                                                                        "securityContext": {
                                                                            "description": "SecurityContext holds pod-level security attributes and common container settings.\nOptional: Defaults to empty.  See type description for default values of each field.\nSee Pod.spec.securityContext (API version: v1)",
                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                        },
                                                                        "tolerations": {
                                                                            "description": "If specified, the pod's tolerations.",
                                                                            "items": {
                                                                                "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.",
                                                                                "properties": {
                                                                                    "effect": {
                                                                                        "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "key": {
                                                                                        "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "operator": {
                                                                                        "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "tolerationSeconds": {
                                                                                        "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.",
                                                                                        "format": "int64",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "value": {
                                                                                        "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "topologySpreadConstraints": {
                                                                            "description": "TopologySpreadConstraints controls how Pods are spread across your cluster among\nfailure-domains such as regions, zones, nodes, and other user-defined topology domains.",
                                                                            "items": {
                                                                                "description": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.",
                                                                                "properties": {
                                                                                    "labelSelector": {
                                                                                        "description": "LabelSelector is used to find matching pods.\nPods that match this label selector are counted to determine the number of pods\nin their corresponding topology domain.",
                                                                                        "properties": {
                                                                                            "matchExpressions": {
                                                                                                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                                "items": {
                                                                                                    "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                                    "properties": {
                                                                                                        "key": {
                                                                                                            "description": "key is the label key that the selector applies to.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "operator": {
                                                                                                            "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "values": {
                                                                                                            "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                            "items": {
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "type": "array",
                                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "key",
                                                                                                        "operator"
                                                                                                    ],
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "matchLabels": {
                                                                                                "additionalProperties": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                                "type": "object"
                                                                                            }
                                                                                        },
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "matchLabelKeys": {
                                                                                        "description": "MatchLabelKeys is a set of pod label keys to select the pods over which\nspreading will be calculated. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are ANDed with labelSelector\nto select the group of existing pods over which spreading will be calculated\nfor the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nMatchLabelKeys cannot be set when LabelSelector isn't set.\nKeys that don't exist in the incoming pod labels will\nbe ignored. A null or empty list means only match against labelSelector.\n\nThis is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "maxSkew": {
                                                                                        "description": "MaxSkew describes the degree to which pods may be unevenly distributed.\nWhen `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference\nbetween the number of matching pods in the target topology and the global minimum.\nThe global minimum is the minimum number of matching pods in an eligible domain\nor zero if the number of eligible domains is less than MinDomains.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 2/2/1:\nIn this case, the global minimum is 1.\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |   P   |\n- if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;\nscheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)\nviolate MaxSkew(1).\n- if MaxSkew is 2, incoming pod can be scheduled onto any zone.\nWhen `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence\nto topologies that satisfy it.\nIt's a required field. Default value is 1 and 0 is not allowed.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "minDomains": {
                                                                                        "description": "MinDomains indicates a minimum number of eligible domains.\nWhen the number of eligible domains with matching topology keys is less than minDomains,\nPod Topology Spread treats \"global minimum\" as 0, and then the calculation of Skew is performed.\nAnd when the number of eligible domains with matching topology keys equals or greater than minDomains,\nthis value has no effect on scheduling.\nAs a result, when the number of eligible domains is less than minDomains,\nscheduler won't schedule more than maxSkew Pods to those domains.\nIf value is nil, the constraint behaves as if MinDomains is equal to 1.\nValid values are integers greater than 0.\nWhen value is not nil, WhenUnsatisfiable must be DoNotSchedule.\n\nFor example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same\nlabelSelector spread as 2/2/2:\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |  P P  |\nThe number of domains is less than 5(MinDomains), so \"global minimum\" is treated as 0.\nIn this situation, new pod with the same labelSelector cannot be scheduled,\nbecause computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,\nit will violate MaxSkew.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "nodeAffinityPolicy": {
                                                                                        "description": "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector\nwhen calculating pod topology spread skew. Options are:\n- Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.\n- Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.\n\nIf this value is nil, the behavior is equivalent to the Honor policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "nodeTaintsPolicy": {
                                                                                        "description": "NodeTaintsPolicy indicates how we will treat node taints when calculating\npod topology spread skew. Options are:\n- Honor: nodes without taints, along with tainted nodes for which the incoming pod\nhas a toleration, are included.\n- Ignore: node taints are ignored. All nodes are included.\n\nIf this value is nil, the behavior is equivalent to the Ignore policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "topologyKey": {
                                                                                        "description": "TopologyKey is the key of node labels. Nodes that have a label with this key\nand identical values are considered to be in the same topology.\nWe consider each \u003ckey, value\u003e as a \"bucket\", and try to put balanced number\nof pods into each bucket.\nWe define a domain as a particular instance of a topology.\nAlso, we define an eligible domain as a domain whose nodes meet the requirements of\nnodeAffinityPolicy and nodeTaintsPolicy.\ne.g. If TopologyKey is \"kubernetes.io/hostname\", each Node is a domain of that topology.\nAnd, if TopologyKey is \"topology.kubernetes.io/zone\", each zone is a domain of that topology.\nIt's a required field.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "whenUnsatisfiable": {
                                                                                        "description": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy\nthe spread constraint.\n- DoNotSchedule (default) tells the scheduler not to schedule it.\n- ScheduleAnyway tells the scheduler to schedule the pod in any location,\n  but giving higher precedence to topologies that would help reduce the\n  skew.\nA constraint is considered \"Unsatisfiable\" for an incoming pod\nif and only if every possible node assignment for that pod would violate\n\"MaxSkew\" on some topology.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 3/1/1:\n| zone1 | zone2 | zone3 |\n| P P P |   P   |   P   |\nIf WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled\nto zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies\nMaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler\nwon't make it *more* imbalanced.\nIt's a required field.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "maxSkew",
                                                                                    "topologyKey",
                                                                                    "whenUnsatisfiable"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "volumes": {
                                                                            "description": "List of volumes that can be mounted by containers belonging to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes\nSee Pod.spec.volumes (API version: v1)",
                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "serviceAccountName": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "timeouts": {
                                                            "description": "Time after which the Pipeline times out.\nCurrently three keys are accepted in the map\npipeline, tasks and finally\nwith Timeouts.pipeline \u003e= Timeouts.tasks + Timeouts.finally",
                                                            "properties": {
                                                                "finally": {
                                                                    "description": "Finally sets the maximum allowed duration of this pipeline's finally",
                                                                    "type": "string"
                                                                },
                                                                "pipeline": {
                                                                    "description": "Pipeline sets the maximum allowed duration for execution of the entire pipeline. The sum of individual timeouts for tasks and finally must not exceed this value.",
                                                                    "type": "string"
                                                                },
                                                                "tasks": {
                                                                    "description": "Tasks sets the maximum allowed duration of this pipeline's tasks",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "workspaces": {
                                                            "description": "Workspaces holds a set of workspace bindings that must match names\nwith those declared in the pipeline.",
                                                            "items": {
                                                                "description": "WorkspaceBinding maps a Task's declared workspace to a Volume.",
                                                                "properties": {
                                                                    "configMap": {
                                                                        "description": "ConfigMap represents a configMap that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode is optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDefaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "items": {
                                                                                "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                "items": {
                                                                                    "description": "Maps a string key to a path within a volume.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "description": "key is the key to project.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mode": {
                                                                                            "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "path"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "name": {
                                                                                "default": "",
                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                "type": "string"
                                                                            },
                                                                            "optional": {
                                                                                "description": "optional specify whether the ConfigMap or its keys must be defined",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "type": "object",
                                                                        "x-kubernetes-map-type": "atomic"
                                                                    },
                                                                    "csi": {
                                                                        "description": "CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.",
                                                                        "properties": {
                                                                            "driver": {
                                                                                "description": "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster.",
                                                                                "type": "string"
                                                                            },
                                                                            "fsType": {
                                                                                "description": "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply.",
                                                                                "type": "string"
                                                                            },
                                                                            "nodePublishSecretRef": {
                                                                                "description": "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and  may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write).",
                                                                                "type": "boolean"
                                                                            },
                                                                            "volumeAttributes": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "description": "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values.",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "driver"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "emptyDir": {
                                                                        "description": "EmptyDir represents a temporary directory that shares a Task's lifetime.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir\nEither this OR PersistentVolumeClaim can be used.",
                                                                        "properties": {
                                                                            "medium": {
                                                                                "description": "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
                                                                                "type": "string"
                                                                            },
                                                                            "sizeLimit": {
                                                                                "anyOf": [
                                                                                    {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ],
                                                                                "description": "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                "x-kubernetes-int-or-string": true
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of the workspace populated by the volume.",
                                                                        "type": "string"
                                                                    },
                                                                    "persistentVolumeClaim": {
                                                                        "description": "PersistentVolumeClaimVolumeSource represents a reference to a\nPersistentVolumeClaim in the same namespace. Either this OR EmptyDir can be used.",
                                                                        "properties": {
                                                                            "claimName": {
                                                                                "description": "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false.",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "claimName"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "projected": {
                                                                        "description": "Projected represents a projected volume that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode are the mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "sources": {
                                                                                "description": "sources is the list of volume projections. Each entry in this list\nhandles one source.",
                                                                                "items": {
                                                                                    "description": "Projection that may be projected along with other supported volume types.\nExactly one of these fields must be set.",
                                                                                    "properties": {
                                                                                        "clusterTrustBundle": {
                                                                                            "description": "ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field\nof ClusterTrustBundle objects in an auto-updating file.\n\nAlpha, gated by the ClusterTrustBundleProjection feature gate.\n\nClusterTrustBundle objects can either be selected by name, or by the\ncombination of signer name and a label selector.\n\nKubelet performs aggressive normalization of the PEM contents written\ninto the pod filesystem.  Esoteric PEM features such as inter-block\ncomments and block headers are stripped.  Certificates are deduplicated.\nThe ordering of certificates within the file is arbitrary, and Kubelet\nmay change the order over time.",
                                                                                            "properties": {
                                                                                                "labelSelector": {
                                                                                                    "description": "Select all ClusterTrustBundles that match this label selector.  Only has\neffect if signerName is set.  Mutually-exclusive with name.  If unset,\ninterpreted as \"match nothing\".  If set but empty, interpreted as \"match\neverything\".",
                                                                                                    "properties": {
                                                                                                        "matchExpressions": {
                                                                                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                                            "items": {
                                                                                                                "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                                                "properties": {
                                                                                                                    "key": {
                                                                                                                        "description": "key is the label key that the selector applies to.",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "operator": {
                                                                                                                        "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "values": {
                                                                                                                        "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                                        "items": {
                                                                                                                            "type": "string"
                                                                                                                        },
                                                                                                                        "type": "array",
                                                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "key",
                                                                                                                    "operator"
                                                                                                                ],
                                                                                                                "type": "object"
                                                                                                            },
                                                                                                            "type": "array",
                                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                                        },
                                                                                                        "matchLabels": {
                                                                                                            "additionalProperties": {
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                                            "type": "object"
                                                                                                        }
                                                                                                    },
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "description": "Select a single ClusterTrustBundle by object name.  Mutually-exclusive\nwith signerName and labelSelector.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "If true, don't block pod startup if the referenced ClusterTrustBundle(s)\naren't available.  If using name, then the named ClusterTrustBundle is\nallowed not to exist.  If using signerName, then the combination of\nsignerName and labelSelector is allowed to match zero\nClusterTrustBundles.",
                                                                                                    "type": "boolean"
                                                                                                },
                                                                                                "path": {
                                                                                                    "description": "Relative path from the volume root to write the bundle.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "signerName": {
                                                                                                    "description": "Select all ClusterTrustBundles that match this signer name.\nMutually-exclusive with name.  The contents of all selected\nClusterTrustBundles will be unified and deduplicated.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "path"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "configMap": {
                                                                                            "description": "configMap information about the configMap data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                                    "items": {
                                                                                                        "description": "Maps a string key to a path within a volume.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the key to project.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "optional specify whether the ConfigMap or its keys must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "downwardAPI": {
                                                                                            "description": "downwardAPI information about the downwardAPI data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "Items is a list of DownwardAPIVolume file",
                                                                                                    "items": {
                                                                                                        "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field",
                                                                                                        "properties": {
                                                                                                            "fieldRef": {
                                                                                                                "description": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.",
                                                                                                                "properties": {
                                                                                                                    "apiVersion": {
                                                                                                                        "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "fieldPath": {
                                                                                                                        "description": "Path of the field to select in the specified API version.",
                                                                                                                        "type": "string"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "fieldPath"
                                                                                                                ],
                                                                                                                "type": "object",
                                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "Required: Path is  the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "resourceFieldRef": {
                                                                                                                "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.",
                                                                                                                "properties": {
                                                                                                                    "containerName": {
                                                                                                                        "description": "Container name: required for volumes, optional for env vars",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "divisor": {
                                                                                                                        "anyOf": [
                                                                                                                            {
                                                                                                                                "type": "integer"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "type": "string"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                                    },
                                                                                                                    "resource": {
                                                                                                                        "description": "Required: resource to select",
                                                                                                                        "type": "string"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "resource"
                                                                                                                ],
                                                                                                                "type": "object",
                                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "secret": {
                                                                                            "description": "secret information about the secret data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                                    "items": {
                                                                                                        "description": "Maps a string key to a path within a volume.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the key to project.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "optional field specify whether the Secret or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "serviceAccountToken": {
                                                                                            "description": "serviceAccountToken is information about the serviceAccountToken data to project",
                                                                                            "properties": {
                                                                                                "audience": {
                                                                                                    "description": "audience is the intended audience of the token. A recipient of a token\nmust identify itself with an identifier specified in the audience of the\ntoken, and otherwise should reject the token. The audience defaults to the\nidentifier of the apiserver.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "expirationSeconds": {
                                                                                                    "description": "expirationSeconds is the requested duration of validity of the service\naccount token. As the token approaches expiration, the kubelet volume\nplugin will proactively rotate the service account token. The kubelet will\nstart trying to rotate the token if the token is older than 80 percent of\nits time to live or if the token is older than 24 hours.Defaults to 1 hour\nand must be at least 10 minutes.",
                                                                                                    "format": "int64",
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                "path": {
                                                                                                    "description": "path is the path relative to the mount point of the file to project the\ntoken into.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "path"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "secret": {
                                                                        "description": "Secret represents a secret that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode is Optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values\nfor mode bits. Defaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "items": {
                                                                                "description": "items If unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                "items": {
                                                                                    "description": "Maps a string key to a path within a volume.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "description": "key is the key to project.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mode": {
                                                                                            "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "path"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "optional": {
                                                                                "description": "optional field specify whether the Secret or its keys must be defined",
                                                                                "type": "boolean"
                                                                            },
                                                                            "secretName": {
                                                                                "description": "secretName is the name of the secret in the pod's namespace to use.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "subPath": {
                                                                        "description": "SubPath is optionally a directory on the volume which should be used\nfor this binding (i.e. the volume will be mounted at this sub directory).",
                                                                        "type": "string"
                                                                    },
                                                                    "volumeClaimTemplate": {
                                                                        "description": "VolumeClaimTemplate is a template for a claim that will be created in the same namespace.\nThe PipelineRun controller is responsible for creating a unique claim for each instance of PipelineRun.\nSee PersistentVolumeClaim (API version: v1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "status": {
                                                    "description": "PipelineRunStatus defines the observed state of PipelineRun",
                                                    "properties": {
                                                        "annotations": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
                                                            "type": "object"
                                                        },
                                                        "childReferences": {
                                                            "description": "list of TaskRun and Run names, PipelineTask names, and API versions/kinds for children of this PipelineRun.",
                                                            "items": {
                                                                "description": "ChildStatusReference is used to point to the statuses of individual TaskRuns and Runs within this PipelineRun.",
                                                                "properties": {
                                                                    "apiVersion": {
                                                                        "type": "string"
                                                                    },
                                                                    "displayName": {
                                                                        "description": "DisplayName is a user-facing name of the pipelineTask that may be\nused to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "kind": {
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of the TaskRun or Run this is referencing.",
                                                                        "type": "string"
                                                                    },
                                                                    "pipelineTaskName": {
                                                                        "description": "PipelineTaskName is the name of the PipelineTask this is referencing.",
                                                                        "type": "string"
                                                                    },
                                                                    "whenExpressions": {
                                                                        "description": "WhenExpressions is the list of checks guarding the execution of the PipelineTask",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "completionTime": {
                                                            "description": "CompletionTime is the time the PipelineRun completed.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "conditions": {
                                                            "description": "Conditions the latest available observations of a resource's current state.",
                                                            "items": {
                                                                "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
                                                                "properties": {
                                                                    "lastTransitionTime": {
                                                                        "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                                                                        "type": "string"
                                                                    },
                                                                    "message": {
                                                                        "description": "A human readable message indicating details about the transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "reason": {
                                                                        "description": "The reason for the condition's last transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "severity": {
                                                                        "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                                                                        "type": "string"
                                                                    },
                                                                    "status": {
                                                                        "description": "Status of the condition, one of True, False, Unknown.",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type of condition.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "status",
                                                                    "type"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "finallyStartTime": {
                                                            "description": "FinallyStartTime is when all non-finally tasks have been completed and only finally tasks are being executed.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "observedGeneration": {
                                                            "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
                                                            "format": "int64",
                                                            "type": "integer"
                                                        },
                                                        "pipelineSpec": {
                                                            "description": "PipelineSpec contains the exact spec used to instantiate the run.\nSee Pipeline.spec (API version: tekton.dev/v1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "provenance": {
                                                            "description": "Provenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).",
                                                            "properties": {
                                                                "featureFlags": {
                                                                    "description": "FeatureFlags identifies the feature flags that were used during the task/pipeline run",
                                                                    "properties": {
                                                                        "awaitSidecarReadiness": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "coschedule": {
                                                                            "type": "string"
                                                                        },
                                                                        "disableCredsInit": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "disableInlineSpec": {
                                                                            "type": "string"
                                                                        },
                                                                        "enableAPIFields": {
                                                                            "type": "string"
                                                                        },
                                                                        "enableArtifacts": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableCELInWhenExpression": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableConciseResolverSyntax": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableKeepPodOnCancel": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableKubernetesSidecar": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableParamEnum": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableProvenanceInStatus": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableStepActions": {
                                                                            "description": "EnableStepActions is a no-op flag since StepActions are stable",
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableWaitExponentialBackoff": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enforceNonfalsifiability": {
                                                                            "type": "string"
                                                                        },
                                                                        "maxResultSize": {
                                                                            "type": "integer"
                                                                        },
                                                                        "requireGitSSHSecretKnownHosts": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "resultExtractionMethod": {
                                                                            "type": "string"
                                                                        },
                                                                        "runningInEnvWithInjectedSidecars": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "sendCloudEventsForRuns": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "setSecurityContext": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "setSecurityContextReadOnlyRootFilesystem": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "verificationNoMatchPolicy": {
                                                                            "description": "VerificationNoMatchPolicy is the feature flag for \"trusted-resources-verification-no-match-policy\"\nVerificationNoMatchPolicy can be set to \"ignore\", \"warn\" and \"fail\" values.\nignore: skip trusted resources verification when no matching verification policies found\nwarn: skip trusted resources verification when no matching verification policies found and log a warning\nfail: fail the taskrun or pipelines run if no matching verification policies found",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "refSource": {
                                                                    "description": "RefSource identifies the source where a remote task/pipeline came from.",
                                                                    "properties": {
                                                                        "digest": {
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                            "type": "object"
                                                                        },
                                                                        "entryPoint": {
                                                                            "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                            "type": "string"
                                                                        },
                                                                        "uri": {
                                                                            "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "results": {
                                                            "description": "Results are the list of results written out by the pipeline task's containers",
                                                            "items": {
                                                                "description": "PipelineRunResult used to describe the results of a pipeline",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name is the result's name as declared by the Pipeline",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Value is the result returned from the execution of this PipelineRun",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "skippedTasks": {
                                                            "description": "list of tasks that were skipped due to when expressions evaluating to false",
                                                            "items": {
                                                                "description": "SkippedTask is used to describe the Tasks that were skipped due to their When Expressions\nevaluating to False. This is a struct because we are looking into including more details\nabout the When Expressions that caused this Task to be skipped.",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name is the Pipeline Task name",
                                                                        "type": "string"
                                                                    },
                                                                    "reason": {
                                                                        "description": "Reason is the cause of the PipelineTask being skipped.",
                                                                        "type": "string"
                                                                    },
                                                                    "whenExpressions": {
                                                                        "description": "WhenExpressions is the list of checks guarding the execution of the PipelineTask",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "reason"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "spanContext": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "SpanContext contains tracing span context fields",
                                                            "type": "object"
                                                        },
                                                        "startTime": {
                                                            "description": "StartTime is the time the PipelineRun is actually started.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "resolution.tekton.dev/release": "devel"
                            },
                            "name": "resolutionrequests.resolution.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "conversion": {
                                "strategy": "Webhook",
                                "webhook": {
                                    "clientConfig": {
                                        "service": {
                                            "name": "tekton-pipelines-webhook",
                                            "namespace": "openshift-pipelines"
                                        }
                                    },
                                    "conversionReviewVersions": [
                                        "v1alpha1",
                                        "v1beta1"
                                    ]
                                }
                            },
                            "group": "resolution.tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-pipelines"
                                ],
                                "kind": "ResolutionRequest",
                                "plural": "resolutionrequests",
                                "shortNames": [
                                    "resolutionrequest",
                                    "resolutionrequests"
                                ],
                                "singular": "resolutionrequest"
                            },
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "additionalPrinterColumns": [
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Succeeded')].status",
                                            "name": "Succeeded",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Succeeded')].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        }
                                    ],
                                    "deprecated": true,
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "ResolutionRequest is an object for requesting the content of\na Tekton resource like a pipeline.yaml.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "Spec holds the information for the request part of the resource request.",
                                                    "properties": {
                                                        "params": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "Parameters are the runtime attributes passed to\nthe resolver to help it figure out how to resolve the\nresource being requested. For example: repo URL, commit SHA,\npath to file, the kind of authentication to leverage, etc.",
                                                            "type": "object"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "status": {
                                                    "description": "Status communicates the state of the request and, ultimately,\nthe content of the resolved resource.",
                                                    "properties": {
                                                        "annotations": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
                                                            "type": "object"
                                                        },
                                                        "conditions": {
                                                            "description": "Conditions the latest available observations of a resource's current state.",
                                                            "items": {
                                                                "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
                                                                "properties": {
                                                                    "lastTransitionTime": {
                                                                        "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                                                                        "type": "string"
                                                                    },
                                                                    "message": {
                                                                        "description": "A human readable message indicating details about the transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "reason": {
                                                                        "description": "The reason for the condition's last transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "severity": {
                                                                        "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                                                                        "type": "string"
                                                                    },
                                                                    "status": {
                                                                        "description": "Status of the condition, one of True, False, Unknown.",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type of condition.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "status",
                                                                    "type"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "data": {
                                                            "description": "Data is a string representation of the resolved content\nof the requested resource in-lined into the ResolutionRequest\nobject.",
                                                            "type": "string"
                                                        },
                                                        "observedGeneration": {
                                                            "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
                                                            "format": "int64",
                                                            "type": "integer"
                                                        },
                                                        "refSource": {
                                                            "description": "RefSource is the source reference of the remote data that records where the remote\nfile came from including the url, digest and the entrypoint.",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        }
                                                    },
                                                    "required": [
                                                        "data",
                                                        "refSource"
                                                    ],
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "additionalPrinterColumns": [
                                        {
                                            "jsonPath": ".metadata.ownerReferences[0].kind",
                                            "name": "OwnerKind",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".metadata.ownerReferences[0].name",
                                            "name": "Owner",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Succeeded')].status",
                                            "name": "Succeeded",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Succeeded')].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".metadata.creationTimestamp",
                                            "name": "StartTime",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Succeeded')].lastTransitionTime",
                                            "name": "EndTime",
                                            "type": "string"
                                        }
                                    ],
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "ResolutionRequest is an object for requesting the content of\na Tekton resource like a pipeline.yaml.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "Spec holds the information for the request part of the resource request.",
                                                    "properties": {
                                                        "params": {
                                                            "description": "Parameters are the runtime attributes passed to\nthe resolver to help it figure out how to resolve the\nresource being requested. For example: repo URL, commit SHA,\npath to file, the kind of authentication to leverage, etc.",
                                                            "items": {
                                                                "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                "properties": {
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "url": {
                                                            "description": "URL is the runtime url passed to the resolver\nto help it figure out how to resolver the resource being\nrequested.\nThis is currently at an ALPHA stability level and subject to\nalpha API compatibility policies.",
                                                            "type": "string"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "status": {
                                                    "description": "Status communicates the state of the request and, ultimately,\nthe content of the resolved resource.",
                                                    "properties": {
                                                        "annotations": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
                                                            "type": "object"
                                                        },
                                                        "conditions": {
                                                            "description": "Conditions the latest available observations of a resource's current state.",
                                                            "items": {
                                                                "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
                                                                "properties": {
                                                                    "lastTransitionTime": {
                                                                        "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                                                                        "type": "string"
                                                                    },
                                                                    "message": {
                                                                        "description": "A human readable message indicating details about the transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "reason": {
                                                                        "description": "The reason for the condition's last transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "severity": {
                                                                        "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                                                                        "type": "string"
                                                                    },
                                                                    "status": {
                                                                        "description": "Status of the condition, one of True, False, Unknown.",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type of condition.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "status",
                                                                    "type"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "data": {
                                                            "description": "Data is a string representation of the resolved content\nof the requested resource in-lined into the ResolutionRequest\nobject.",
                                                            "type": "string"
                                                        },
                                                        "observedGeneration": {
                                                            "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
                                                            "format": "int64",
                                                            "type": "integer"
                                                        },
                                                        "refSource": {
                                                            "description": "RefSource is the source reference of the remote data that records the url, digest\nand the entrypoint.",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "source": {
                                                            "description": "Deprecated: Use RefSource instead",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        }
                                                    },
                                                    "required": [
                                                        "data",
                                                        "refSource",
                                                        "source"
                                                    ],
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "stepactions.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "conversion": {
                                "strategy": "Webhook",
                                "webhook": {
                                    "clientConfig": {
                                        "service": {
                                            "name": "tekton-pipelines-webhook",
                                            "namespace": "openshift-pipelines"
                                        }
                                    },
                                    "conversionReviewVersions": [
                                        "v1alpha1",
                                        "v1beta1"
                                    ]
                                }
                            },
                            "group": "tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-pipelines"
                                ],
                                "kind": "StepAction",
                                "plural": "stepactions",
                                "singular": "stepaction"
                            },
                            "preserveUnknownFields": false,
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "StepAction represents the actionable components of Step.\nThe Step can only reference it from the cluster or using remote resolution.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "Spec holds the desired state of the Step from the client",
                                                    "properties": {
                                                        "args": {
                                                            "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "command": {
                                                            "description": "Entrypoint array. Not executed within a shell.\nThe image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "description": {
                                                            "description": "Description is a user-facing description of the stepaction that may be\nused to populate a UI.",
                                                            "type": "string"
                                                        },
                                                        "env": {
                                                            "description": "List of environment variables to set in the container.\nCannot be updated.",
                                                            "items": {
                                                                "description": "EnvVar represents an environment variable present in a Container.",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                        "type": "string"
                                                                    },
                                                                    "valueFrom": {
                                                                        "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                        "properties": {
                                                                            "configMapKeyRef": {
                                                                                "description": "Selects a key of a ConfigMap.",
                                                                                "properties": {
                                                                                    "key": {
                                                                                        "description": "The key to select.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "optional": {
                                                                                        "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                        "type": "boolean"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "key"
                                                                                ],
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "fieldRef": {
                                                                                "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                "properties": {
                                                                                    "apiVersion": {
                                                                                        "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "fieldPath": {
                                                                                        "description": "Path of the field to select in the specified API version.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "fieldPath"
                                                                                ],
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "resourceFieldRef": {
                                                                                "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                "properties": {
                                                                                    "containerName": {
                                                                                        "description": "Container name: required for volumes, optional for env vars",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "divisor": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "resource": {
                                                                                        "description": "Required: resource to select",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "resource"
                                                                                ],
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "secretKeyRef": {
                                                                                "description": "Selects a key of a secret in the pod's namespace",
                                                                                "properties": {
                                                                                    "key": {
                                                                                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "optional": {
                                                                                        "description": "Specify whether the Secret or its key must be defined",
                                                                                        "type": "boolean"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "key"
                                                                                ],
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "image": {
                                                            "description": "Image reference name to run for this StepAction.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                                            "type": "string"
                                                        },
                                                        "params": {
                                                            "description": "Params is a list of input parameters required to run the stepAction.\nParams must be supplied as inputs in Steps unless they declare a defaultvalue.",
                                                            "items": {
                                                                "description": "ParamSpec defines arbitrary parameters needed beyond typed inputs (such as\nresources). Parameter values are provided by users as inputs on a TaskRun\nor PipelineRun.",
                                                                "properties": {
                                                                    "default": {
                                                                        "description": "Default is the value a parameter takes if no input value is supplied. If\ndefault is set, a Task may be executed without a supplied value for the\nparameter.",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "description": {
                                                                        "description": "Description is a user-facing description of the parameter that may be\nused to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "enum": {
                                                                        "description": "Enum declares a set of allowed param input values for tasks/pipelines that can be validated.\nIf Enum is not set, no input validation is performed for the param.",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name declares the name by which a parameter is referenced.",
                                                                        "type": "string"
                                                                    },
                                                                    "properties": {
                                                                        "additionalProperties": {
                                                                            "description": "PropertySpec defines the struct for object keys",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "description": "Properties is the JSON Schema properties to support key-value pairs parameter.",
                                                                        "type": "object"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the parameter. The possible types\nare currently \"string\", \"array\" and \"object\", and \"string\" is the default.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "results": {
                                                            "description": "Results are values that this StepAction can output",
                                                            "items": {
                                                                "description": "StepResult used to describe the Results of a Step.",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is a human-readable description of the result",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name the given name",
                                                                        "type": "string"
                                                                    },
                                                                    "properties": {
                                                                        "additionalProperties": {
                                                                            "description": "PropertySpec defines the struct for object keys",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "description": "Properties is the JSON Schema properties to support key-value pairs results.",
                                                                        "type": "object"
                                                                    },
                                                                    "type": {
                                                                        "description": "The possible types are 'string', 'array', and 'object', with 'string' as the default.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "script": {
                                                            "description": "Script is the contents of an executable file to execute.\n\nIf Script is not empty, the Step cannot have an Command and the Args will be passed to the Script.",
                                                            "type": "string"
                                                        },
                                                        "securityContext": {
                                                            "description": "SecurityContext defines the security options the Step should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/\nThe value set in StepAction will take precedence over the value from Task.",
                                                            "properties": {
                                                                "allowPrivilegeEscalation": {
                                                                    "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "type": "boolean"
                                                                },
                                                                "appArmorProfile": {
                                                                    "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "properties": {
                                                                        "localhostProfile": {
                                                                            "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                            "type": "string"
                                                                        },
                                                                        "type": {
                                                                            "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type"
                                                                    ],
                                                                    "type": "object"
                                                                },
                                                                "capabilities": {
                                                                    "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "properties": {
                                                                        "add": {
                                                                            "description": "Added capabilities",
                                                                            "items": {
                                                                                "description": "Capability represent POSIX capabilities type",
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "drop": {
                                                                            "description": "Removed capabilities",
                                                                            "items": {
                                                                                "description": "Capability represent POSIX capabilities type",
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "privileged": {
                                                                    "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "type": "boolean"
                                                                },
                                                                "procMount": {
                                                                    "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "type": "string"
                                                                },
                                                                "readOnlyRootFilesystem": {
                                                                    "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "type": "boolean"
                                                                },
                                                                "runAsGroup": {
                                                                    "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "format": "int64",
                                                                    "type": "integer"
                                                                },
                                                                "runAsNonRoot": {
                                                                    "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                    "type": "boolean"
                                                                },
                                                                "runAsUser": {
                                                                    "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "format": "int64",
                                                                    "type": "integer"
                                                                },
                                                                "seLinuxOptions": {
                                                                    "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "properties": {
                                                                        "level": {
                                                                            "description": "Level is SELinux level label that applies to the container.",
                                                                            "type": "string"
                                                                        },
                                                                        "role": {
                                                                            "description": "Role is a SELinux role label that applies to the container.",
                                                                            "type": "string"
                                                                        },
                                                                        "type": {
                                                                            "description": "Type is a SELinux type label that applies to the container.",
                                                                            "type": "string"
                                                                        },
                                                                        "user": {
                                                                            "description": "User is a SELinux user label that applies to the container.",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "seccompProfile": {
                                                                    "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "properties": {
                                                                        "localhostProfile": {
                                                                            "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                            "type": "string"
                                                                        },
                                                                        "type": {
                                                                            "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type"
                                                                    ],
                                                                    "type": "object"
                                                                },
                                                                "windowsOptions": {
                                                                    "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                    "properties": {
                                                                        "gmsaCredentialSpec": {
                                                                            "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                            "type": "string"
                                                                        },
                                                                        "gmsaCredentialSpecName": {
                                                                            "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                            "type": "string"
                                                                        },
                                                                        "hostProcess": {
                                                                            "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "runAsUserName": {
                                                                            "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "volumeMounts": {
                                                            "description": "Volumes to mount into the Step's filesystem.\nCannot be updated.",
                                                            "items": {
                                                                "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                "properties": {
                                                                    "mountPath": {
                                                                        "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                        "type": "string"
                                                                    },
                                                                    "mountPropagation": {
                                                                        "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "This must match the Name of a Volume.",
                                                                        "type": "string"
                                                                    },
                                                                    "readOnly": {
                                                                        "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "recursiveReadOnly": {
                                                                        "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                        "type": "string"
                                                                    },
                                                                    "subPath": {
                                                                        "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                        "type": "string"
                                                                    },
                                                                    "subPathExpr": {
                                                                        "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "mountPath",
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "workingDir": {
                                                            "description": "Step's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                            "type": "string"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "StepAction represents the actionable components of Step.\nThe Step can only reference it from the cluster or using remote resolution.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "Spec holds the desired state of the Step from the client",
                                                    "properties": {
                                                        "args": {
                                                            "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "command": {
                                                            "description": "Entrypoint array. Not executed within a shell.\nThe image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "description": {
                                                            "description": "Description is a user-facing description of the stepaction that may be\nused to populate a UI.",
                                                            "type": "string"
                                                        },
                                                        "env": {
                                                            "description": "List of environment variables to set in the container.\nCannot be updated.",
                                                            "items": {
                                                                "description": "EnvVar represents an environment variable present in a Container.",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                        "type": "string"
                                                                    },
                                                                    "valueFrom": {
                                                                        "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                        "properties": {
                                                                            "configMapKeyRef": {
                                                                                "description": "Selects a key of a ConfigMap.",
                                                                                "properties": {
                                                                                    "key": {
                                                                                        "description": "The key to select.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "optional": {
                                                                                        "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                        "type": "boolean"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "key"
                                                                                ],
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "fieldRef": {
                                                                                "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                "properties": {
                                                                                    "apiVersion": {
                                                                                        "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "fieldPath": {
                                                                                        "description": "Path of the field to select in the specified API version.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "fieldPath"
                                                                                ],
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "resourceFieldRef": {
                                                                                "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                "properties": {
                                                                                    "containerName": {
                                                                                        "description": "Container name: required for volumes, optional for env vars",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "divisor": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "resource": {
                                                                                        "description": "Required: resource to select",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "resource"
                                                                                ],
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "secretKeyRef": {
                                                                                "description": "Selects a key of a secret in the pod's namespace",
                                                                                "properties": {
                                                                                    "key": {
                                                                                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "optional": {
                                                                                        "description": "Specify whether the Secret or its key must be defined",
                                                                                        "type": "boolean"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "key"
                                                                                ],
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "image": {
                                                            "description": "Image reference name to run for this StepAction.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                                            "type": "string"
                                                        },
                                                        "params": {
                                                            "description": "Params is a list of input parameters required to run the stepAction.\nParams must be supplied as inputs in Steps unless they declare a defaultvalue.",
                                                            "items": {
                                                                "description": "ParamSpec defines arbitrary parameters needed beyond typed inputs (such as\nresources). Parameter values are provided by users as inputs on a TaskRun\nor PipelineRun.",
                                                                "properties": {
                                                                    "default": {
                                                                        "description": "Default is the value a parameter takes if no input value is supplied. If\ndefault is set, a Task may be executed without a supplied value for the\nparameter.",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "description": {
                                                                        "description": "Description is a user-facing description of the parameter that may be\nused to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "enum": {
                                                                        "description": "Enum declares a set of allowed param input values for tasks/pipelines that can be validated.\nIf Enum is not set, no input validation is performed for the param.",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name declares the name by which a parameter is referenced.",
                                                                        "type": "string"
                                                                    },
                                                                    "properties": {
                                                                        "additionalProperties": {
                                                                            "description": "PropertySpec defines the struct for object keys",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "description": "Properties is the JSON Schema properties to support key-value pairs parameter.",
                                                                        "type": "object"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the parameter. The possible types\nare currently \"string\", \"array\" and \"object\", and \"string\" is the default.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "results": {
                                                            "description": "Results are values that this StepAction can output",
                                                            "items": {
                                                                "description": "StepResult used to describe the Results of a Step.",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is a human-readable description of the result",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name the given name",
                                                                        "type": "string"
                                                                    },
                                                                    "properties": {
                                                                        "additionalProperties": {
                                                                            "description": "PropertySpec defines the struct for object keys",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "description": "Properties is the JSON Schema properties to support key-value pairs results.",
                                                                        "type": "object"
                                                                    },
                                                                    "type": {
                                                                        "description": "The possible types are 'string', 'array', and 'object', with 'string' as the default.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "script": {
                                                            "description": "Script is the contents of an executable file to execute.\n\nIf Script is not empty, the Step cannot have an Command and the Args will be passed to the Script.",
                                                            "type": "string"
                                                        },
                                                        "securityContext": {
                                                            "description": "SecurityContext defines the security options the Step should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/\nThe value set in StepAction will take precedence over the value from Task.",
                                                            "properties": {
                                                                "allowPrivilegeEscalation": {
                                                                    "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "type": "boolean"
                                                                },
                                                                "appArmorProfile": {
                                                                    "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "properties": {
                                                                        "localhostProfile": {
                                                                            "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                            "type": "string"
                                                                        },
                                                                        "type": {
                                                                            "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type"
                                                                    ],
                                                                    "type": "object"
                                                                },
                                                                "capabilities": {
                                                                    "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "properties": {
                                                                        "add": {
                                                                            "description": "Added capabilities",
                                                                            "items": {
                                                                                "description": "Capability represent POSIX capabilities type",
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "drop": {
                                                                            "description": "Removed capabilities",
                                                                            "items": {
                                                                                "description": "Capability represent POSIX capabilities type",
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "privileged": {
                                                                    "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "type": "boolean"
                                                                },
                                                                "procMount": {
                                                                    "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "type": "string"
                                                                },
                                                                "readOnlyRootFilesystem": {
                                                                    "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "type": "boolean"
                                                                },
                                                                "runAsGroup": {
                                                                    "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "format": "int64",
                                                                    "type": "integer"
                                                                },
                                                                "runAsNonRoot": {
                                                                    "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                    "type": "boolean"
                                                                },
                                                                "runAsUser": {
                                                                    "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "format": "int64",
                                                                    "type": "integer"
                                                                },
                                                                "seLinuxOptions": {
                                                                    "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "properties": {
                                                                        "level": {
                                                                            "description": "Level is SELinux level label that applies to the container.",
                                                                            "type": "string"
                                                                        },
                                                                        "role": {
                                                                            "description": "Role is a SELinux role label that applies to the container.",
                                                                            "type": "string"
                                                                        },
                                                                        "type": {
                                                                            "description": "Type is a SELinux type label that applies to the container.",
                                                                            "type": "string"
                                                                        },
                                                                        "user": {
                                                                            "description": "User is a SELinux user label that applies to the container.",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "seccompProfile": {
                                                                    "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                    "properties": {
                                                                        "localhostProfile": {
                                                                            "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                            "type": "string"
                                                                        },
                                                                        "type": {
                                                                            "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type"
                                                                    ],
                                                                    "type": "object"
                                                                },
                                                                "windowsOptions": {
                                                                    "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                    "properties": {
                                                                        "gmsaCredentialSpec": {
                                                                            "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                            "type": "string"
                                                                        },
                                                                        "gmsaCredentialSpecName": {
                                                                            "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                            "type": "string"
                                                                        },
                                                                        "hostProcess": {
                                                                            "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "runAsUserName": {
                                                                            "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "volumeMounts": {
                                                            "description": "Volumes to mount into the Step's filesystem.\nCannot be updated.",
                                                            "items": {
                                                                "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                "properties": {
                                                                    "mountPath": {
                                                                        "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                        "type": "string"
                                                                    },
                                                                    "mountPropagation": {
                                                                        "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "This must match the Name of a Volume.",
                                                                        "type": "string"
                                                                    },
                                                                    "readOnly": {
                                                                        "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "recursiveReadOnly": {
                                                                        "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                        "type": "string"
                                                                    },
                                                                    "subPath": {
                                                                        "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                        "type": "string"
                                                                    },
                                                                    "subPathExpr": {
                                                                        "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "mountPath",
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "workingDir": {
                                                            "description": "Step's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                            "type": "string"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "tasks.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "conversion": {
                                "strategy": "Webhook",
                                "webhook": {
                                    "clientConfig": {
                                        "service": {
                                            "name": "tekton-pipelines-webhook",
                                            "namespace": "openshift-pipelines"
                                        }
                                    },
                                    "conversionReviewVersions": [
                                        "v1beta1",
                                        "v1"
                                    ]
                                }
                            },
                            "group": "tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-pipelines"
                                ],
                                "kind": "Task",
                                "plural": "tasks",
                                "singular": "task"
                            },
                            "preserveUnknownFields": false,
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "Task represents a collection of sequential steps that are run as part of a\nPipeline using a set of inputs and producing a set of outputs. Tasks execute\nwhen TaskRuns are created that provide the input parameters and resources and\noutput resources the Task requires.\n\nDeprecated: Please use v1.Task instead.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "Spec holds the desired state of the Task from the client",
                                                    "properties": {
                                                        "description": {
                                                            "description": "Description is a user-facing description of the task that may be\nused to populate a UI.",
                                                            "type": "string"
                                                        },
                                                        "displayName": {
                                                            "description": "DisplayName is a user-facing name of the task that may be\nused to populate a UI.",
                                                            "type": "string"
                                                        },
                                                        "params": {
                                                            "description": "Params is a list of input parameters required to run the task. Params\nmust be supplied as inputs in TaskRuns unless they declare a default\nvalue.",
                                                            "items": {
                                                                "description": "ParamSpec defines arbitrary parameters needed beyond typed inputs (such as\nresources). Parameter values are provided by users as inputs on a TaskRun\nor PipelineRun.",
                                                                "properties": {
                                                                    "default": {
                                                                        "description": "Default is the value a parameter takes if no input value is supplied. If\ndefault is set, a Task may be executed without a supplied value for the\nparameter.",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "description": {
                                                                        "description": "Description is a user-facing description of the parameter that may be\nused to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "enum": {
                                                                        "description": "Enum declares a set of allowed param input values for tasks/pipelines that can be validated.\nIf Enum is not set, no input validation is performed for the param.",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name declares the name by which a parameter is referenced.",
                                                                        "type": "string"
                                                                    },
                                                                    "properties": {
                                                                        "additionalProperties": {
                                                                            "description": "PropertySpec defines the struct for object keys",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "description": "Properties is the JSON Schema properties to support key-value pairs parameter.",
                                                                        "type": "object"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the parameter. The possible types\nare currently \"string\", \"array\" and \"object\", and \"string\" is the default.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "resources": {
                                                            "description": "Resources is a list input and output resource to run the task\nResources are represented in TaskRuns as bindings to instances of\nPipelineResources.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                            "properties": {
                                                                "inputs": {
                                                                    "description": "Inputs holds the mapping from the PipelineResources declared in\nDeclaredPipelineResources to the input PipelineResources required by the Task.",
                                                                    "items": {
                                                                        "description": "TaskResource defines an input or output Resource declared as a requirement\nby a Task. The Name field will be used to refer to these Resources within\nthe Task definition, and when provided as an Input, the Name will be the\npath to the volume mounted containing this Resource as an input (e.g.\nan input Resource named `workspace` will be mounted at `/workspace`).\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                        "properties": {
                                                                            "description": {
                                                                                "description": "Description is a user-facing description of the declared resource that may be\nused to populate a UI.",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name declares the name by which a resource is referenced in the\ndefinition. Resources may be referenced by name in the definition of a\nTask's steps.",
                                                                                "type": "string"
                                                                            },
                                                                            "optional": {
                                                                                "description": "Optional declares the resource as optional.\nBy default optional is set to false which makes a resource required.\noptional: true - the resource is considered optional\noptional: false - the resource is considered required (equivalent of not specifying it)",
                                                                                "type": "boolean"
                                                                            },
                                                                            "targetPath": {
                                                                                "description": "TargetPath is the path in workspace directory where the resource\nwill be copied.",
                                                                                "type": "string"
                                                                            },
                                                                            "type": {
                                                                                "description": "Type is the type of this resource;",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name",
                                                                            "type"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "outputs": {
                                                                    "description": "Outputs holds the mapping from the PipelineResources declared in\nDeclaredPipelineResources to the input PipelineResources required by the Task.",
                                                                    "items": {
                                                                        "description": "TaskResource defines an input or output Resource declared as a requirement\nby a Task. The Name field will be used to refer to these Resources within\nthe Task definition, and when provided as an Input, the Name will be the\npath to the volume mounted containing this Resource as an input (e.g.\nan input Resource named `workspace` will be mounted at `/workspace`).\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                        "properties": {
                                                                            "description": {
                                                                                "description": "Description is a user-facing description of the declared resource that may be\nused to populate a UI.",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name declares the name by which a resource is referenced in the\ndefinition. Resources may be referenced by name in the definition of a\nTask's steps.",
                                                                                "type": "string"
                                                                            },
                                                                            "optional": {
                                                                                "description": "Optional declares the resource as optional.\nBy default optional is set to false which makes a resource required.\noptional: true - the resource is considered optional\noptional: false - the resource is considered required (equivalent of not specifying it)",
                                                                                "type": "boolean"
                                                                            },
                                                                            "targetPath": {
                                                                                "description": "TargetPath is the path in workspace directory where the resource\nwill be copied.",
                                                                                "type": "string"
                                                                            },
                                                                            "type": {
                                                                                "description": "Type is the type of this resource;",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name",
                                                                            "type"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "results": {
                                                            "description": "Results are values that this Task can output",
                                                            "items": {
                                                                "description": "TaskResult used to describe the results of a task",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is a human-readable description of the result",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name the given name",
                                                                        "type": "string"
                                                                    },
                                                                    "properties": {
                                                                        "additionalProperties": {
                                                                            "description": "PropertySpec defines the struct for object keys",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "description": "Properties is the JSON Schema properties to support key-value pairs results.",
                                                                        "type": "object"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the result. The possible type\nis currently \"string\" and will support \"array\" in following work.",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Value the expression used to retrieve the value of the result from an underlying Step.",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "sidecars": {
                                                            "description": "Sidecars are run alongside the Task's step containers. They begin before\nthe steps start and end after the steps complete.",
                                                            "items": {
                                                                "description": "Sidecar has nearly the same data structure as Step but does not have the ability to timeout.",
                                                                "properties": {
                                                                    "args": {
                                                                        "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "command": {
                                                                        "description": "Entrypoint array. Not executed within a shell.\nThe image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Sidecar's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "env": {
                                                                        "description": "List of environment variables to set in the Sidecar.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "EnvVar represents an environment variable present in a Container.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                    "type": "string"
                                                                                },
                                                                                "valueFrom": {
                                                                                    "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                    "properties": {
                                                                                        "configMapKeyRef": {
                                                                                            "description": "Selects a key of a ConfigMap.",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "The key to select.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "fieldRef": {
                                                                                            "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                            "properties": {
                                                                                                "apiVersion": {
                                                                                                    "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "fieldPath": {
                                                                                                    "description": "Path of the field to select in the specified API version.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "fieldPath"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "resourceFieldRef": {
                                                                                            "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                            "properties": {
                                                                                                "containerName": {
                                                                                                    "description": "Container name: required for volumes, optional for env vars",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "divisor": {
                                                                                                    "anyOf": [
                                                                                                        {
                                                                                                            "type": "integer"
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    ],
                                                                                                    "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                    "x-kubernetes-int-or-string": true
                                                                                                },
                                                                                                "resource": {
                                                                                                    "description": "Required: resource to select",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "resource"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "secretKeyRef": {
                                                                                            "description": "Selects a key of a secret in the pod's namespace",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the Secret or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "envFrom": {
                                                                        "description": "List of sources to populate environment variables in the Sidecar.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the Sidecar is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "EnvFromSource represents the source of a set of ConfigMaps",
                                                                            "properties": {
                                                                                "configMapRef": {
                                                                                    "description": "The ConfigMap to select from",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "default": "",
                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "optional": {
                                                                                            "description": "Specify whether the ConfigMap must be defined",
                                                                                            "type": "boolean"
                                                                                        }
                                                                                    },
                                                                                    "type": "object",
                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                },
                                                                                "prefix": {
                                                                                    "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
                                                                                    "type": "string"
                                                                                },
                                                                                "secretRef": {
                                                                                    "description": "The Secret to select from",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "default": "",
                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "optional": {
                                                                                            "description": "Specify whether the Secret must be defined",
                                                                                            "type": "boolean"
                                                                                        }
                                                                                    },
                                                                                    "type": "object",
                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "image": {
                                                                        "description": "Image name to be used by the Sidecar.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                                                        "type": "string"
                                                                    },
                                                                    "imagePullPolicy": {
                                                                        "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
                                                                        "type": "string"
                                                                    },
                                                                    "lifecycle": {
                                                                        "description": "Actions that the management system should take in response to Sidecar lifecycle events.\nCannot be updated.",
                                                                        "properties": {
                                                                            "postStart": {
                                                                                "description": "PostStart is called immediately after a container is created. If the handler fails,\nthe container is terminated and restarted according to its restart policy.\nOther management of the container blocks until the hook completes.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
                                                                                "properties": {
                                                                                    "exec": {
                                                                                        "description": "Exec specifies a command to execute in the container.",
                                                                                        "properties": {
                                                                                            "command": {
                                                                                                "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                "items": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "httpGet": {
                                                                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "httpHeaders": {
                                                                                                "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                "items": {
                                                                                                    "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                    "properties": {
                                                                                                        "name": {
                                                                                                            "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "value": {
                                                                                                            "description": "The header field value",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "name",
                                                                                                        "value"
                                                                                                    ],
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "path": {
                                                                                                "description": "Path to access on the HTTP server.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "scheme": {
                                                                                                "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "sleep": {
                                                                                        "description": "Sleep represents a duration that the container should sleep.",
                                                                                        "properties": {
                                                                                            "seconds": {
                                                                                                "description": "Seconds is the number of seconds to sleep.",
                                                                                                "format": "int64",
                                                                                                "type": "integer"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "seconds"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "tcpSocket": {
                                                                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility. There is no validation of this field and\nlifecycle hooks will fail at runtime when it is specified.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "preStop": {
                                                                                "description": "PreStop is called immediately before a container is terminated due to an\nAPI request or management event such as liveness/startup probe failure,\npreemption, resource contention, etc. The handler is not called if the\ncontainer crashes or exits. The Pod's termination grace period countdown begins before the\nPreStop hook is executed. Regardless of the outcome of the handler, the\ncontainer will eventually terminate within the Pod's termination grace\nperiod (unless delayed by finalizers). Other management of the container blocks until the hook completes\nor until the termination grace period is reached.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
                                                                                "properties": {
                                                                                    "exec": {
                                                                                        "description": "Exec specifies a command to execute in the container.",
                                                                                        "properties": {
                                                                                            "command": {
                                                                                                "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                "items": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "httpGet": {
                                                                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "httpHeaders": {
                                                                                                "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                "items": {
                                                                                                    "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                    "properties": {
                                                                                                        "name": {
                                                                                                            "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "value": {
                                                                                                            "description": "The header field value",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "name",
                                                                                                        "value"
                                                                                                    ],
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "path": {
                                                                                                "description": "Path to access on the HTTP server.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "scheme": {
                                                                                                "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "sleep": {
                                                                                        "description": "Sleep represents a duration that the container should sleep.",
                                                                                        "properties": {
                                                                                            "seconds": {
                                                                                                "description": "Seconds is the number of seconds to sleep.",
                                                                                                "format": "int64",
                                                                                                "type": "integer"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "seconds"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "tcpSocket": {
                                                                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility. There is no validation of this field and\nlifecycle hooks will fail at runtime when it is specified.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "livenessProbe": {
                                                                        "description": "Periodic probe of Sidecar liveness.\nContainer will be restarted if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                        "properties": {
                                                                            "exec": {
                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                "properties": {
                                                                                    "command": {
                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "failureThreshold": {
                                                                                "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "grpc": {
                                                                                "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                "properties": {
                                                                                    "port": {
                                                                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "service": {
                                                                                        "default": "",
                                                                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "httpGet": {
                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "httpHeaders": {
                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                        "items": {
                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "The header field value",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "path": {
                                                                                        "description": "Path to access on the HTTP server.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "scheme": {
                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "initialDelaySeconds": {
                                                                                "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "periodSeconds": {
                                                                                "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "successThreshold": {
                                                                                "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "tcpSocket": {
                                                                                "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "terminationGracePeriodSeconds": {
                                                                                "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "timeoutSeconds": {
                                                                                "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name of the Sidecar specified as a DNS_LABEL.\nEach Sidecar in a Task must have a unique name (DNS_LABEL).\nCannot be updated.",
                                                                        "type": "string"
                                                                    },
                                                                    "ports": {
                                                                        "description": "List of ports to expose from the Sidecar. Exposing a port here gives\nthe system additional information about the network connections a\ncontainer uses, but is primarily informational. Not specifying a port here\nDOES NOT prevent that port from being exposed. Any port which is\nlistening on the default \"0.0.0.0\" address inside a container will be\naccessible from the network.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "ContainerPort represents a network port in a single container.",
                                                                            "properties": {
                                                                                "containerPort": {
                                                                                    "description": "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 \u003c x \u003c 65536.",
                                                                                    "format": "int32",
                                                                                    "type": "integer"
                                                                                },
                                                                                "hostIP": {
                                                                                    "description": "What host IP to bind the external port to.",
                                                                                    "type": "string"
                                                                                },
                                                                                "hostPort": {
                                                                                    "description": "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 \u003c x \u003c 65536.\nIf HostNetwork is specified, this must match ContainerPort.\nMost containers do not need this.",
                                                                                    "format": "int32",
                                                                                    "type": "integer"
                                                                                },
                                                                                "name": {
                                                                                    "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each\nnamed port in a pod must have a unique name. Name for the port that can be\nreferred to by services.",
                                                                                    "type": "string"
                                                                                },
                                                                                "protocol": {
                                                                                    "default": "TCP",
                                                                                    "description": "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\".",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "containerPort"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-map-keys": [
                                                                            "containerPort",
                                                                            "protocol"
                                                                        ],
                                                                        "x-kubernetes-list-type": "map"
                                                                    },
                                                                    "readinessProbe": {
                                                                        "description": "Periodic probe of Sidecar service readiness.\nContainer will be removed from service endpoints if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                        "properties": {
                                                                            "exec": {
                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                "properties": {
                                                                                    "command": {
                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "failureThreshold": {
                                                                                "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "grpc": {
                                                                                "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                "properties": {
                                                                                    "port": {
                                                                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "service": {
                                                                                        "default": "",
                                                                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "httpGet": {
                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "httpHeaders": {
                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                        "items": {
                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "The header field value",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "path": {
                                                                                        "description": "Path to access on the HTTP server.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "scheme": {
                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "initialDelaySeconds": {
                                                                                "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "periodSeconds": {
                                                                                "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "successThreshold": {
                                                                                "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "tcpSocket": {
                                                                                "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "terminationGracePeriodSeconds": {
                                                                                "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "timeoutSeconds": {
                                                                                "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "resources": {
                                                                        "description": "Compute Resources required by this Sidecar.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                        "properties": {
                                                                            "claims": {
                                                                                "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                "items": {
                                                                                    "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "request": {
                                                                                            "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "name"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "limits": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            },
                                                                            "requests": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "restartPolicy": {
                                                                        "description": "RestartPolicy refers to kubernetes RestartPolicy. It can only be set for an\ninitContainer and must have it's policy set to \"Always\". It is currently\nleft optional to help support Kubernetes versions prior to 1.29 when this feature\nwas introduced.",
                                                                        "type": "string"
                                                                    },
                                                                    "script": {
                                                                        "description": "Script is the contents of an executable file to execute.\n\nIf Script is not empty, the Step cannot have an Command or Args.",
                                                                        "type": "string"
                                                                    },
                                                                    "securityContext": {
                                                                        "description": "SecurityContext defines the security options the Sidecar should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
                                                                        "properties": {
                                                                            "allowPrivilegeEscalation": {
                                                                                "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "appArmorProfile": {
                                                                                "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "localhostProfile": {
                                                                                        "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "type"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "capabilities": {
                                                                                "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "add": {
                                                                                        "description": "Added capabilities",
                                                                                        "items": {
                                                                                            "description": "Capability represent POSIX capabilities type",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "drop": {
                                                                                        "description": "Removed capabilities",
                                                                                        "items": {
                                                                                            "description": "Capability represent POSIX capabilities type",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "privileged": {
                                                                                "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "procMount": {
                                                                                "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnlyRootFilesystem": {
                                                                                "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "runAsGroup": {
                                                                                "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "runAsNonRoot": {
                                                                                "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "runAsUser": {
                                                                                "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "seLinuxOptions": {
                                                                                "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "level": {
                                                                                        "description": "Level is SELinux level label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "role": {
                                                                                        "description": "Role is a SELinux role label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "Type is a SELinux type label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "user": {
                                                                                        "description": "User is a SELinux user label that applies to the container.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "seccompProfile": {
                                                                                "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "localhostProfile": {
                                                                                        "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "type"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "windowsOptions": {
                                                                                "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                                "properties": {
                                                                                    "gmsaCredentialSpec": {
                                                                                        "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "gmsaCredentialSpecName": {
                                                                                        "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "hostProcess": {
                                                                                        "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "runAsUserName": {
                                                                                        "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "startupProbe": {
                                                                        "description": "StartupProbe indicates that the Pod the Sidecar is running in has successfully initialized.\nIf specified, no other probes are executed until this completes successfully.\nIf this probe fails, the Pod will be restarted, just as if the livenessProbe failed.\nThis can be used to provide different probe parameters at the beginning of a Pod's lifecycle,\nwhen it might take a long time to load data or warm a cache, than during steady-state operation.\nThis cannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                        "properties": {
                                                                            "exec": {
                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                "properties": {
                                                                                    "command": {
                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "failureThreshold": {
                                                                                "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "grpc": {
                                                                                "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                "properties": {
                                                                                    "port": {
                                                                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "service": {
                                                                                        "default": "",
                                                                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "httpGet": {
                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "httpHeaders": {
                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                        "items": {
                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "The header field value",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "path": {
                                                                                        "description": "Path to access on the HTTP server.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "scheme": {
                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "initialDelaySeconds": {
                                                                                "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "periodSeconds": {
                                                                                "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "successThreshold": {
                                                                                "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "tcpSocket": {
                                                                                "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "terminationGracePeriodSeconds": {
                                                                                "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "timeoutSeconds": {
                                                                                "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "stdin": {
                                                                        "description": "Whether this Sidecar should allocate a buffer for stdin in the container runtime. If this\nis not set, reads from stdin in the Sidecar will always result in EOF.\nDefault is false.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "stdinOnce": {
                                                                        "description": "Whether the container runtime should close the stdin channel after it has been opened by\na single attach. When stdin is true the stdin stream will remain open across multiple attach\nsessions. If stdinOnce is set to true, stdin is opened on Sidecar start, is empty until the\nfirst client attaches to stdin, and then remains open and accepts data until the client disconnects,\nat which time stdin is closed and remains closed until the Sidecar is restarted. If this\nflag is false, a container processes that reads from stdin will never receive an EOF.\nDefault is false",
                                                                        "type": "boolean"
                                                                    },
                                                                    "terminationMessagePath": {
                                                                        "description": "Optional: Path at which the file to which the Sidecar's termination message\nwill be written is mounted into the Sidecar's filesystem.\nMessage written is intended to be brief final status, such as an assertion failure message.\nWill be truncated by the node if greater than 4096 bytes. The total message length across\nall containers will be limited to 12kb.\nDefaults to /dev/termination-log.\nCannot be updated.",
                                                                        "type": "string"
                                                                    },
                                                                    "terminationMessagePolicy": {
                                                                        "description": "Indicate how the termination message should be populated. File will use the contents of\nterminationMessagePath to populate the Sidecar status message on both success and failure.\nFallbackToLogsOnError will use the last chunk of Sidecar log output if the termination\nmessage file is empty and the Sidecar exited with an error.\nThe log output is limited to 2048 bytes or 80 lines, whichever is smaller.\nDefaults to File.\nCannot be updated.",
                                                                        "type": "string"
                                                                    },
                                                                    "tty": {
                                                                        "description": "Whether this Sidecar should allocate a TTY for itself, also requires 'stdin' to be true.\nDefault is false.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "volumeDevices": {
                                                                        "description": "volumeDevices is the list of block devices to be used by the Sidecar.",
                                                                        "items": {
                                                                            "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                                                            "properties": {
                                                                                "devicePath": {
                                                                                    "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "name must match the name of a persistentVolumeClaim in the pod",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "devicePath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "volumeMounts": {
                                                                        "description": "Volumes to mount into the Sidecar's filesystem.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                            "properties": {
                                                                                "mountPath": {
                                                                                    "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                                    "type": "string"
                                                                                },
                                                                                "mountPropagation": {
                                                                                    "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "This must match the Name of a Volume.",
                                                                                    "type": "string"
                                                                                },
                                                                                "readOnly": {
                                                                                    "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "recursiveReadOnly": {
                                                                                    "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPath": {
                                                                                    "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPathExpr": {
                                                                                    "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "mountPath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "workingDir": {
                                                                        "description": "Sidecar's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                                        "type": "string"
                                                                    },
                                                                    "workspaces": {
                                                                        "description": "This is an alpha field. You must set the \"enable-api-fields\" feature flag to \"alpha\"\nfor this field to be supported.\n\nWorkspaces is a list of workspaces from the Task that this Sidecar wants\nexclusive access to. Adding a workspace to this list means that any\nother Step or Sidecar that does not also request this Workspace will\nnot have access to it.",
                                                                        "items": {
                                                                            "description": "WorkspaceUsage is used by a Step or Sidecar to declare that it wants isolated access\nto a Workspace defined in a Task.",
                                                                            "properties": {
                                                                                "mountPath": {
                                                                                    "description": "MountPath is the path that the workspace should be mounted to inside the Step or Sidecar,\noverriding any MountPath specified in the Task's WorkspaceDeclaration.",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "Name is the name of the workspace this Step or Sidecar wants access to.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "mountPath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "stepTemplate": {
                                                            "description": "StepTemplate can be used as the basis for all step containers within the\nTask, so that the steps inherit settings on the base container.",
                                                            "properties": {
                                                                "args": {
                                                                    "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Step's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "command": {
                                                                    "description": "Entrypoint array. Not executed within a shell.\nThe docker image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Step's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "env": {
                                                                    "description": "List of environment variables to set in the container.\nCannot be updated.",
                                                                    "items": {
                                                                        "description": "EnvVar represents an environment variable present in a Container.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                "type": "string"
                                                                            },
                                                                            "valueFrom": {
                                                                                "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                "properties": {
                                                                                    "configMapKeyRef": {
                                                                                        "description": "Selects a key of a ConfigMap.",
                                                                                        "properties": {
                                                                                            "key": {
                                                                                                "description": "The key to select.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "key"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "fieldRef": {
                                                                                        "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                        "properties": {
                                                                                            "apiVersion": {
                                                                                                "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "fieldPath": {
                                                                                                "description": "Path of the field to select in the specified API version.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "fieldPath"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "resourceFieldRef": {
                                                                                        "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                        "properties": {
                                                                                            "containerName": {
                                                                                                "description": "Container name: required for volumes, optional for env vars",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "divisor": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "resource": {
                                                                                                "description": "Required: resource to select",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "resource"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "secretKeyRef": {
                                                                                        "description": "Selects a key of a secret in the pod's namespace",
                                                                                        "properties": {
                                                                                            "key": {
                                                                                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the Secret or its key must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "key"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "envFrom": {
                                                                    "description": "List of sources to populate environment variables in the Step.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the container is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.",
                                                                    "items": {
                                                                        "description": "EnvFromSource represents the source of a set of ConfigMaps",
                                                                        "properties": {
                                                                            "configMapRef": {
                                                                                "description": "The ConfigMap to select from",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "optional": {
                                                                                        "description": "Specify whether the ConfigMap must be defined",
                                                                                        "type": "boolean"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "prefix": {
                                                                                "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
                                                                                "type": "string"
                                                                            },
                                                                            "secretRef": {
                                                                                "description": "The Secret to select from",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "optional": {
                                                                                        "description": "Specify whether the Secret must be defined",
                                                                                        "type": "boolean"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "image": {
                                                                    "description": "Default image name to use for each Step.\nMore info: https://kubernetes.io/docs/concepts/containers/images\nThis field is optional to allow higher level config management to default or override\ncontainer images in workload controllers like Deployments and StatefulSets.",
                                                                    "type": "string"
                                                                },
                                                                "imagePullPolicy": {
                                                                    "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
                                                                    "type": "string"
                                                                },
                                                                "lifecycle": {
                                                                    "description": "Actions that the management system should take in response to container lifecycle events.\nCannot be updated.\n\nDeprecated: This field will be removed in a future release.",
                                                                    "properties": {
                                                                        "postStart": {
                                                                            "description": "PostStart is called immediately after a container is created. If the handler fails,\nthe container is terminated and restarted according to its restart policy.\nOther management of the container blocks until the hook completes.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
                                                                            "properties": {
                                                                                "exec": {
                                                                                    "description": "Exec specifies a command to execute in the container.",
                                                                                    "properties": {
                                                                                        "command": {
                                                                                            "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                            "items": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "httpGet": {
                                                                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                    "properties": {
                                                                                        "host": {
                                                                                            "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "httpHeaders": {
                                                                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                            "items": {
                                                                                                "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "value": {
                                                                                                        "description": "The header field value",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name",
                                                                                                    "value"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "Path to access on the HTTP server.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "port": {
                                                                                            "anyOf": [
                                                                                                {
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            ],
                                                                                            "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                            "x-kubernetes-int-or-string": true
                                                                                        },
                                                                                        "scheme": {
                                                                                            "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "port"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "sleep": {
                                                                                    "description": "Sleep represents a duration that the container should sleep.",
                                                                                    "properties": {
                                                                                        "seconds": {
                                                                                            "description": "Seconds is the number of seconds to sleep.",
                                                                                            "format": "int64",
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "seconds"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "tcpSocket": {
                                                                                    "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility. There is no validation of this field and\nlifecycle hooks will fail at runtime when it is specified.",
                                                                                    "properties": {
                                                                                        "host": {
                                                                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "port": {
                                                                                            "anyOf": [
                                                                                                {
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            ],
                                                                                            "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                            "x-kubernetes-int-or-string": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "port"
                                                                                    ],
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "preStop": {
                                                                            "description": "PreStop is called immediately before a container is terminated due to an\nAPI request or management event such as liveness/startup probe failure,\npreemption, resource contention, etc. The handler is not called if the\ncontainer crashes or exits. The Pod's termination grace period countdown begins before the\nPreStop hook is executed. Regardless of the outcome of the handler, the\ncontainer will eventually terminate within the Pod's termination grace\nperiod (unless delayed by finalizers). Other management of the container blocks until the hook completes\nor until the termination grace period is reached.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
                                                                            "properties": {
                                                                                "exec": {
                                                                                    "description": "Exec specifies a command to execute in the container.",
                                                                                    "properties": {
                                                                                        "command": {
                                                                                            "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                            "items": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "httpGet": {
                                                                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                    "properties": {
                                                                                        "host": {
                                                                                            "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "httpHeaders": {
                                                                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                            "items": {
                                                                                                "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                "properties": {
                                                                                                    "name": {
                                                                                                        "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "value": {
                                                                                                        "description": "The header field value",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "name",
                                                                                                    "value"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "Path to access on the HTTP server.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "port": {
                                                                                            "anyOf": [
                                                                                                {
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            ],
                                                                                            "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                            "x-kubernetes-int-or-string": true
                                                                                        },
                                                                                        "scheme": {
                                                                                            "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "port"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "sleep": {
                                                                                    "description": "Sleep represents a duration that the container should sleep.",
                                                                                    "properties": {
                                                                                        "seconds": {
                                                                                            "description": "Seconds is the number of seconds to sleep.",
                                                                                            "format": "int64",
                                                                                            "type": "integer"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "seconds"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "tcpSocket": {
                                                                                    "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility. There is no validation of this field and\nlifecycle hooks will fail at runtime when it is specified.",
                                                                                    "properties": {
                                                                                        "host": {
                                                                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "port": {
                                                                                            "anyOf": [
                                                                                                {
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            ],
                                                                                            "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                            "x-kubernetes-int-or-string": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "port"
                                                                                    ],
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "livenessProbe": {
                                                                    "description": "Periodic probe of container liveness.\nContainer will be restarted if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\n\nDeprecated: This field will be removed in a future release.",
                                                                    "properties": {
                                                                        "exec": {
                                                                            "description": "Exec specifies a command to execute in the container.",
                                                                            "properties": {
                                                                                "command": {
                                                                                    "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "failureThreshold": {
                                                                            "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "grpc": {
                                                                            "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                            "properties": {
                                                                                "port": {
                                                                                    "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                    "format": "int32",
                                                                                    "type": "integer"
                                                                                },
                                                                                "service": {
                                                                                    "default": "",
                                                                                    "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "port"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "httpGet": {
                                                                            "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                            "properties": {
                                                                                "host": {
                                                                                    "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                    "type": "string"
                                                                                },
                                                                                "httpHeaders": {
                                                                                    "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                    "items": {
                                                                                        "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                        "properties": {
                                                                                            "name": {
                                                                                                "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "value": {
                                                                                                "description": "The header field value",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "name",
                                                                                            "value"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                },
                                                                                "path": {
                                                                                    "description": "Path to access on the HTTP server.",
                                                                                    "type": "string"
                                                                                },
                                                                                "port": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "scheme": {
                                                                                    "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "port"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "initialDelaySeconds": {
                                                                            "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "periodSeconds": {
                                                                            "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "successThreshold": {
                                                                            "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "tcpSocket": {
                                                                            "description": "TCPSocket specifies a connection to a TCP port.",
                                                                            "properties": {
                                                                                "host": {
                                                                                    "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                    "type": "string"
                                                                                },
                                                                                "port": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "port"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "terminationGracePeriodSeconds": {
                                                                            "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                            "format": "int64",
                                                                            "type": "integer"
                                                                        },
                                                                        "timeoutSeconds": {
                                                                            "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "name": {
                                                                    "description": "Default name for each Step specified as a DNS_LABEL.\nEach Step in a Task must have a unique name.\nCannot be updated.\n\nDeprecated: This field will be removed in a future release.",
                                                                    "type": "string"
                                                                },
                                                                "ports": {
                                                                    "description": "List of ports to expose from the Step's container. Exposing a port here gives\nthe system additional information about the network connections a\ncontainer uses, but is primarily informational. Not specifying a port here\nDOES NOT prevent that port from being exposed. Any port which is\nlistening on the default \"0.0.0.0\" address inside a container will be\naccessible from the network.\nCannot be updated.\n\nDeprecated: This field will be removed in a future release.",
                                                                    "items": {
                                                                        "description": "ContainerPort represents a network port in a single container.",
                                                                        "properties": {
                                                                            "containerPort": {
                                                                                "description": "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 \u003c x \u003c 65536.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "hostIP": {
                                                                                "description": "What host IP to bind the external port to.",
                                                                                "type": "string"
                                                                            },
                                                                            "hostPort": {
                                                                                "description": "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 \u003c x \u003c 65536.\nIf HostNetwork is specified, this must match ContainerPort.\nMost containers do not need this.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "name": {
                                                                                "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each\nnamed port in a pod must have a unique name. Name for the port that can be\nreferred to by services.",
                                                                                "type": "string"
                                                                            },
                                                                            "protocol": {
                                                                                "default": "TCP",
                                                                                "description": "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "containerPort"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-map-keys": [
                                                                        "containerPort",
                                                                        "protocol"
                                                                    ],
                                                                    "x-kubernetes-list-type": "map"
                                                                },
                                                                "readinessProbe": {
                                                                    "description": "Periodic probe of container service readiness.\nContainer will be removed from service endpoints if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\n\nDeprecated: This field will be removed in a future release.",
                                                                    "properties": {
                                                                        "exec": {
                                                                            "description": "Exec specifies a command to execute in the container.",
                                                                            "properties": {
                                                                                "command": {
                                                                                    "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "failureThreshold": {
                                                                            "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "grpc": {
                                                                            "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                            "properties": {
                                                                                "port": {
                                                                                    "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                    "format": "int32",
                                                                                    "type": "integer"
                                                                                },
                                                                                "service": {
                                                                                    "default": "",
                                                                                    "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "port"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "httpGet": {
                                                                            "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                            "properties": {
                                                                                "host": {
                                                                                    "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                    "type": "string"
                                                                                },
                                                                                "httpHeaders": {
                                                                                    "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                    "items": {
                                                                                        "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                        "properties": {
                                                                                            "name": {
                                                                                                "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "value": {
                                                                                                "description": "The header field value",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "name",
                                                                                            "value"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                },
                                                                                "path": {
                                                                                    "description": "Path to access on the HTTP server.",
                                                                                    "type": "string"
                                                                                },
                                                                                "port": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "scheme": {
                                                                                    "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "port"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "initialDelaySeconds": {
                                                                            "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "periodSeconds": {
                                                                            "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "successThreshold": {
                                                                            "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "tcpSocket": {
                                                                            "description": "TCPSocket specifies a connection to a TCP port.",
                                                                            "properties": {
                                                                                "host": {
                                                                                    "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                    "type": "string"
                                                                                },
                                                                                "port": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "port"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "terminationGracePeriodSeconds": {
                                                                            "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                            "format": "int64",
                                                                            "type": "integer"
                                                                        },
                                                                        "timeoutSeconds": {
                                                                            "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "resources": {
                                                                    "description": "Compute Resources required by this Step.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                    "properties": {
                                                                        "claims": {
                                                                            "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                            "items": {
                                                                                "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "request": {
                                                                                        "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "name"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-map-keys": [
                                                                                "name"
                                                                            ],
                                                                            "x-kubernetes-list-type": "map"
                                                                        },
                                                                        "limits": {
                                                                            "additionalProperties": {
                                                                                "anyOf": [
                                                                                    {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ],
                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                "x-kubernetes-int-or-string": true
                                                                            },
                                                                            "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                            "type": "object"
                                                                        },
                                                                        "requests": {
                                                                            "additionalProperties": {
                                                                                "anyOf": [
                                                                                    {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ],
                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                "x-kubernetes-int-or-string": true
                                                                            },
                                                                            "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                            "type": "object"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "securityContext": {
                                                                    "description": "SecurityContext defines the security options the Step should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
                                                                    "properties": {
                                                                        "allowPrivilegeEscalation": {
                                                                            "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "appArmorProfile": {
                                                                            "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "properties": {
                                                                                "localhostProfile": {
                                                                                    "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                                    "type": "string"
                                                                                },
                                                                                "type": {
                                                                                    "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "capabilities": {
                                                                            "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "properties": {
                                                                                "add": {
                                                                                    "description": "Added capabilities",
                                                                                    "items": {
                                                                                        "description": "Capability represent POSIX capabilities type",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                },
                                                                                "drop": {
                                                                                    "description": "Removed capabilities",
                                                                                    "items": {
                                                                                        "description": "Capability represent POSIX capabilities type",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "privileged": {
                                                                            "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "procMount": {
                                                                            "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "type": "string"
                                                                        },
                                                                        "readOnlyRootFilesystem": {
                                                                            "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "runAsGroup": {
                                                                            "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "format": "int64",
                                                                            "type": "integer"
                                                                        },
                                                                        "runAsNonRoot": {
                                                                            "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "runAsUser": {
                                                                            "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "format": "int64",
                                                                            "type": "integer"
                                                                        },
                                                                        "seLinuxOptions": {
                                                                            "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "properties": {
                                                                                "level": {
                                                                                    "description": "Level is SELinux level label that applies to the container.",
                                                                                    "type": "string"
                                                                                },
                                                                                "role": {
                                                                                    "description": "Role is a SELinux role label that applies to the container.",
                                                                                    "type": "string"
                                                                                },
                                                                                "type": {
                                                                                    "description": "Type is a SELinux type label that applies to the container.",
                                                                                    "type": "string"
                                                                                },
                                                                                "user": {
                                                                                    "description": "User is a SELinux user label that applies to the container.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "seccompProfile": {
                                                                            "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "properties": {
                                                                                "localhostProfile": {
                                                                                    "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                                    "type": "string"
                                                                                },
                                                                                "type": {
                                                                                    "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "windowsOptions": {
                                                                            "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                            "properties": {
                                                                                "gmsaCredentialSpec": {
                                                                                    "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                                    "type": "string"
                                                                                },
                                                                                "gmsaCredentialSpecName": {
                                                                                    "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                                    "type": "string"
                                                                                },
                                                                                "hostProcess": {
                                                                                    "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "runAsUserName": {
                                                                                    "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "startupProbe": {
                                                                    "description": "DeprecatedStartupProbe indicates that the Pod has successfully initialized.\nIf specified, no other probes are executed until this completes successfully.\nIf this probe fails, the Pod will be restarted, just as if the livenessProbe failed.\nThis can be used to provide different probe parameters at the beginning of a Pod's lifecycle,\nwhen it might take a long time to load data or warm a cache, than during steady-state operation.\nThis cannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\n\nDeprecated: This field will be removed in a future release.",
                                                                    "properties": {
                                                                        "exec": {
                                                                            "description": "Exec specifies a command to execute in the container.",
                                                                            "properties": {
                                                                                "command": {
                                                                                    "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "failureThreshold": {
                                                                            "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "grpc": {
                                                                            "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                            "properties": {
                                                                                "port": {
                                                                                    "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                    "format": "int32",
                                                                                    "type": "integer"
                                                                                },
                                                                                "service": {
                                                                                    "default": "",
                                                                                    "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "port"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "httpGet": {
                                                                            "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                            "properties": {
                                                                                "host": {
                                                                                    "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                    "type": "string"
                                                                                },
                                                                                "httpHeaders": {
                                                                                    "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                    "items": {
                                                                                        "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                        "properties": {
                                                                                            "name": {
                                                                                                "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "value": {
                                                                                                "description": "The header field value",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "name",
                                                                                            "value"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                },
                                                                                "path": {
                                                                                    "description": "Path to access on the HTTP server.",
                                                                                    "type": "string"
                                                                                },
                                                                                "port": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "scheme": {
                                                                                    "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "port"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "initialDelaySeconds": {
                                                                            "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "periodSeconds": {
                                                                            "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "successThreshold": {
                                                                            "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        },
                                                                        "tcpSocket": {
                                                                            "description": "TCPSocket specifies a connection to a TCP port.",
                                                                            "properties": {
                                                                                "host": {
                                                                                    "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                    "type": "string"
                                                                                },
                                                                                "port": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "port"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "terminationGracePeriodSeconds": {
                                                                            "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                            "format": "int64",
                                                                            "type": "integer"
                                                                        },
                                                                        "timeoutSeconds": {
                                                                            "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                            "format": "int32",
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "stdin": {
                                                                    "description": "Whether this Step should allocate a buffer for stdin in the container runtime. If this\nis not set, reads from stdin in the Step will always result in EOF.\nDefault is false.\n\nDeprecated: This field will be removed in a future release.",
                                                                    "type": "boolean"
                                                                },
                                                                "stdinOnce": {
                                                                    "description": "Whether the container runtime should close the stdin channel after it has been opened by\na single attach. When stdin is true the stdin stream will remain open across multiple attach\nsessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the\nfirst client attaches to stdin, and then remains open and accepts data until the client disconnects,\nat which time stdin is closed and remains closed until the container is restarted. If this\nflag is false, a container processes that reads from stdin will never receive an EOF.\nDefault is false\n\nDeprecated: This field will be removed in a future release.",
                                                                    "type": "boolean"
                                                                },
                                                                "terminationMessagePath": {
                                                                    "description": "Deprecated: This field will be removed in a future release and cannot be meaningfully used.",
                                                                    "type": "string"
                                                                },
                                                                "terminationMessagePolicy": {
                                                                    "description": "Deprecated: This field will be removed in a future release and cannot be meaningfully used.",
                                                                    "type": "string"
                                                                },
                                                                "tty": {
                                                                    "description": "Whether this Step should allocate a DeprecatedTTY for itself, also requires 'stdin' to be true.\nDefault is false.\n\nDeprecated: This field will be removed in a future release.",
                                                                    "type": "boolean"
                                                                },
                                                                "volumeDevices": {
                                                                    "description": "volumeDevices is the list of block devices to be used by the Step.",
                                                                    "items": {
                                                                        "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                                                        "properties": {
                                                                            "devicePath": {
                                                                                "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "name must match the name of a persistentVolumeClaim in the pod",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "devicePath",
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "volumeMounts": {
                                                                    "description": "Volumes to mount into the Step's filesystem.\nCannot be updated.",
                                                                    "items": {
                                                                        "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                        "properties": {
                                                                            "mountPath": {
                                                                                "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                                "type": "string"
                                                                            },
                                                                            "mountPropagation": {
                                                                                "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "This must match the Name of a Volume.",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "recursiveReadOnly": {
                                                                                "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                                "type": "string"
                                                                            },
                                                                            "subPath": {
                                                                                "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                                "type": "string"
                                                                            },
                                                                            "subPathExpr": {
                                                                                "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "mountPath",
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "workingDir": {
                                                                    "description": "Step's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "required": [
                                                                "name"
                                                            ],
                                                            "type": "object"
                                                        },
                                                        "steps": {
                                                            "description": "Steps are the steps of the build; each step is run sequentially with the\nsource mounted into /workspace.",
                                                            "items": {
                                                                "description": "Step runs a subcomponent of a Task",
                                                                "properties": {
                                                                    "args": {
                                                                        "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "command": {
                                                                        "description": "Entrypoint array. Not executed within a shell.\nThe image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "env": {
                                                                        "description": "List of environment variables to set in the container.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "EnvVar represents an environment variable present in a Container.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                    "type": "string"
                                                                                },
                                                                                "valueFrom": {
                                                                                    "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                    "properties": {
                                                                                        "configMapKeyRef": {
                                                                                            "description": "Selects a key of a ConfigMap.",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "The key to select.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "fieldRef": {
                                                                                            "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                            "properties": {
                                                                                                "apiVersion": {
                                                                                                    "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "fieldPath": {
                                                                                                    "description": "Path of the field to select in the specified API version.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "fieldPath"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "resourceFieldRef": {
                                                                                            "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                            "properties": {
                                                                                                "containerName": {
                                                                                                    "description": "Container name: required for volumes, optional for env vars",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "divisor": {
                                                                                                    "anyOf": [
                                                                                                        {
                                                                                                            "type": "integer"
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    ],
                                                                                                    "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                    "x-kubernetes-int-or-string": true
                                                                                                },
                                                                                                "resource": {
                                                                                                    "description": "Required: resource to select",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "resource"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "secretKeyRef": {
                                                                                            "description": "Selects a key of a secret in the pod's namespace",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the Secret or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "envFrom": {
                                                                        "description": "List of sources to populate environment variables in the container.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the container is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "EnvFromSource represents the source of a set of ConfigMaps",
                                                                            "properties": {
                                                                                "configMapRef": {
                                                                                    "description": "The ConfigMap to select from",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "default": "",
                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "optional": {
                                                                                            "description": "Specify whether the ConfigMap must be defined",
                                                                                            "type": "boolean"
                                                                                        }
                                                                                    },
                                                                                    "type": "object",
                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                },
                                                                                "prefix": {
                                                                                    "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
                                                                                    "type": "string"
                                                                                },
                                                                                "secretRef": {
                                                                                    "description": "The Secret to select from",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "default": "",
                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "optional": {
                                                                                            "description": "Specify whether the Secret must be defined",
                                                                                            "type": "boolean"
                                                                                        }
                                                                                    },
                                                                                    "type": "object",
                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "image": {
                                                                        "description": "Image reference name to run for this Step.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                                                        "type": "string"
                                                                    },
                                                                    "imagePullPolicy": {
                                                                        "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
                                                                        "type": "string"
                                                                    },
                                                                    "lifecycle": {
                                                                        "description": "Actions that the management system should take in response to container lifecycle events.\nCannot be updated.\n\nDeprecated: This field will be removed in a future release.",
                                                                        "properties": {
                                                                            "postStart": {
                                                                                "description": "PostStart is called immediately after a container is created. If the handler fails,\nthe container is terminated and restarted according to its restart policy.\nOther management of the container blocks until the hook completes.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
                                                                                "properties": {
                                                                                    "exec": {
                                                                                        "description": "Exec specifies a command to execute in the container.",
                                                                                        "properties": {
                                                                                            "command": {
                                                                                                "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                "items": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "httpGet": {
                                                                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "httpHeaders": {
                                                                                                "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                "items": {
                                                                                                    "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                    "properties": {
                                                                                                        "name": {
                                                                                                            "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "value": {
                                                                                                            "description": "The header field value",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "name",
                                                                                                        "value"
                                                                                                    ],
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "path": {
                                                                                                "description": "Path to access on the HTTP server.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "scheme": {
                                                                                                "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "sleep": {
                                                                                        "description": "Sleep represents a duration that the container should sleep.",
                                                                                        "properties": {
                                                                                            "seconds": {
                                                                                                "description": "Seconds is the number of seconds to sleep.",
                                                                                                "format": "int64",
                                                                                                "type": "integer"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "seconds"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "tcpSocket": {
                                                                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility. There is no validation of this field and\nlifecycle hooks will fail at runtime when it is specified.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "preStop": {
                                                                                "description": "PreStop is called immediately before a container is terminated due to an\nAPI request or management event such as liveness/startup probe failure,\npreemption, resource contention, etc. The handler is not called if the\ncontainer crashes or exits. The Pod's termination grace period countdown begins before the\nPreStop hook is executed. Regardless of the outcome of the handler, the\ncontainer will eventually terminate within the Pod's termination grace\nperiod (unless delayed by finalizers). Other management of the container blocks until the hook completes\nor until the termination grace period is reached.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
                                                                                "properties": {
                                                                                    "exec": {
                                                                                        "description": "Exec specifies a command to execute in the container.",
                                                                                        "properties": {
                                                                                            "command": {
                                                                                                "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                "items": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "httpGet": {
                                                                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "httpHeaders": {
                                                                                                "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                "items": {
                                                                                                    "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                    "properties": {
                                                                                                        "name": {
                                                                                                            "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "value": {
                                                                                                            "description": "The header field value",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "name",
                                                                                                        "value"
                                                                                                    ],
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "path": {
                                                                                                "description": "Path to access on the HTTP server.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "scheme": {
                                                                                                "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "sleep": {
                                                                                        "description": "Sleep represents a duration that the container should sleep.",
                                                                                        "properties": {
                                                                                            "seconds": {
                                                                                                "description": "Seconds is the number of seconds to sleep.",
                                                                                                "format": "int64",
                                                                                                "type": "integer"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "seconds"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "tcpSocket": {
                                                                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility. There is no validation of this field and\nlifecycle hooks will fail at runtime when it is specified.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "livenessProbe": {
                                                                        "description": "Periodic probe of container liveness.\nStep will be restarted if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\n\nDeprecated: This field will be removed in a future release.",
                                                                        "properties": {
                                                                            "exec": {
                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                "properties": {
                                                                                    "command": {
                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "failureThreshold": {
                                                                                "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "grpc": {
                                                                                "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                "properties": {
                                                                                    "port": {
                                                                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "service": {
                                                                                        "default": "",
                                                                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "httpGet": {
                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "httpHeaders": {
                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                        "items": {
                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "The header field value",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "path": {
                                                                                        "description": "Path to access on the HTTP server.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "scheme": {
                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "initialDelaySeconds": {
                                                                                "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "periodSeconds": {
                                                                                "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "successThreshold": {
                                                                                "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "tcpSocket": {
                                                                                "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "terminationGracePeriodSeconds": {
                                                                                "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "timeoutSeconds": {
                                                                                "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name of the Step specified as a DNS_LABEL.\nEach Step in a Task must have a unique name.",
                                                                        "type": "string"
                                                                    },
                                                                    "onError": {
                                                                        "description": "OnError defines the exiting behavior of a container on error\ncan be set to [ continue | stopAndFail ]",
                                                                        "type": "string"
                                                                    },
                                                                    "params": {
                                                                        "description": "Params declares parameters passed to this step action.",
                                                                        "items": {
                                                                            "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name",
                                                                                "value"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "ports": {
                                                                        "description": "List of ports to expose from the Step's container. Exposing a port here gives\nthe system additional information about the network connections a\ncontainer uses, but is primarily informational. Not specifying a port here\nDOES NOT prevent that port from being exposed. Any port which is\nlistening on the default \"0.0.0.0\" address inside a container will be\naccessible from the network.\nCannot be updated.\n\nDeprecated: This field will be removed in a future release.",
                                                                        "items": {
                                                                            "description": "ContainerPort represents a network port in a single container.",
                                                                            "properties": {
                                                                                "containerPort": {
                                                                                    "description": "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 \u003c x \u003c 65536.",
                                                                                    "format": "int32",
                                                                                    "type": "integer"
                                                                                },
                                                                                "hostIP": {
                                                                                    "description": "What host IP to bind the external port to.",
                                                                                    "type": "string"
                                                                                },
                                                                                "hostPort": {
                                                                                    "description": "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 \u003c x \u003c 65536.\nIf HostNetwork is specified, this must match ContainerPort.\nMost containers do not need this.",
                                                                                    "format": "int32",
                                                                                    "type": "integer"
                                                                                },
                                                                                "name": {
                                                                                    "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each\nnamed port in a pod must have a unique name. Name for the port that can be\nreferred to by services.",
                                                                                    "type": "string"
                                                                                },
                                                                                "protocol": {
                                                                                    "default": "TCP",
                                                                                    "description": "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\".",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "containerPort"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-map-keys": [
                                                                            "containerPort",
                                                                            "protocol"
                                                                        ],
                                                                        "x-kubernetes-list-type": "map"
                                                                    },
                                                                    "readinessProbe": {
                                                                        "description": "Periodic probe of container service readiness.\nStep will be removed from service endpoints if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\n\nDeprecated: This field will be removed in a future release.",
                                                                        "properties": {
                                                                            "exec": {
                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                "properties": {
                                                                                    "command": {
                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "failureThreshold": {
                                                                                "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "grpc": {
                                                                                "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                "properties": {
                                                                                    "port": {
                                                                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "service": {
                                                                                        "default": "",
                                                                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "httpGet": {
                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "httpHeaders": {
                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                        "items": {
                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "The header field value",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "path": {
                                                                                        "description": "Path to access on the HTTP server.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "scheme": {
                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "initialDelaySeconds": {
                                                                                "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "periodSeconds": {
                                                                                "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "successThreshold": {
                                                                                "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "tcpSocket": {
                                                                                "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "terminationGracePeriodSeconds": {
                                                                                "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "timeoutSeconds": {
                                                                                "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "ref": {
                                                                        "description": "Contains the reference to an existing StepAction.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name of the referenced step",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resolver": {
                                                                                "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "resources": {
                                                                        "description": "Compute Resources required by this Step.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                        "properties": {
                                                                            "claims": {
                                                                                "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                "items": {
                                                                                    "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "request": {
                                                                                            "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "name"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "limits": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            },
                                                                            "requests": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "results": {
                                                                        "description": "Results declares StepResults produced by the Step.\n\nIt can be used in an inlined Step when used to store Results to $(step.results.resultName.path).\nIt cannot be used when referencing StepActions using [v1beta1.Step.Ref].\nThe Results declared by the StepActions will be stored here instead.",
                                                                        "items": {
                                                                            "description": "StepResult used to describe the Results of a Step.",
                                                                            "properties": {
                                                                                "description": {
                                                                                    "description": "Description is a human-readable description of the result",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "Name the given name",
                                                                                    "type": "string"
                                                                                },
                                                                                "properties": {
                                                                                    "additionalProperties": {
                                                                                        "description": "PropertySpec defines the struct for object keys",
                                                                                        "properties": {
                                                                                            "type": {
                                                                                                "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "description": "Properties is the JSON Schema properties to support key-value pairs results.",
                                                                                    "type": "object"
                                                                                },
                                                                                "type": {
                                                                                    "description": "The possible types are 'string', 'array', and 'object', with 'string' as the default.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "script": {
                                                                        "description": "Script is the contents of an executable file to execute.\n\nIf Script is not empty, the Step cannot have an Command and the Args will be passed to the Script.",
                                                                        "type": "string"
                                                                    },
                                                                    "securityContext": {
                                                                        "description": "SecurityContext defines the security options the Step should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
                                                                        "properties": {
                                                                            "allowPrivilegeEscalation": {
                                                                                "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "appArmorProfile": {
                                                                                "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "localhostProfile": {
                                                                                        "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "type"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "capabilities": {
                                                                                "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "add": {
                                                                                        "description": "Added capabilities",
                                                                                        "items": {
                                                                                            "description": "Capability represent POSIX capabilities type",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "drop": {
                                                                                        "description": "Removed capabilities",
                                                                                        "items": {
                                                                                            "description": "Capability represent POSIX capabilities type",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "privileged": {
                                                                                "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "procMount": {
                                                                                "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnlyRootFilesystem": {
                                                                                "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "runAsGroup": {
                                                                                "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "runAsNonRoot": {
                                                                                "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "runAsUser": {
                                                                                "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "seLinuxOptions": {
                                                                                "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "level": {
                                                                                        "description": "Level is SELinux level label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "role": {
                                                                                        "description": "Role is a SELinux role label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "Type is a SELinux type label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "user": {
                                                                                        "description": "User is a SELinux user label that applies to the container.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "seccompProfile": {
                                                                                "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "localhostProfile": {
                                                                                        "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "type"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "windowsOptions": {
                                                                                "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                                "properties": {
                                                                                    "gmsaCredentialSpec": {
                                                                                        "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "gmsaCredentialSpecName": {
                                                                                        "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "hostProcess": {
                                                                                        "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "runAsUserName": {
                                                                                        "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "startupProbe": {
                                                                        "description": "DeprecatedStartupProbe indicates that the Pod this Step runs in has successfully initialized.\nIf specified, no other probes are executed until this completes successfully.\nIf this probe fails, the Pod will be restarted, just as if the livenessProbe failed.\nThis can be used to provide different probe parameters at the beginning of a Pod's lifecycle,\nwhen it might take a long time to load data or warm a cache, than during steady-state operation.\nThis cannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\n\nDeprecated: This field will be removed in a future release.",
                                                                        "properties": {
                                                                            "exec": {
                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                "properties": {
                                                                                    "command": {
                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "failureThreshold": {
                                                                                "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "grpc": {
                                                                                "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                "properties": {
                                                                                    "port": {
                                                                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "service": {
                                                                                        "default": "",
                                                                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "httpGet": {
                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "httpHeaders": {
                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                        "items": {
                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "The header field value",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "path": {
                                                                                        "description": "Path to access on the HTTP server.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "scheme": {
                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "initialDelaySeconds": {
                                                                                "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "periodSeconds": {
                                                                                "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "successThreshold": {
                                                                                "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "tcpSocket": {
                                                                                "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "terminationGracePeriodSeconds": {
                                                                                "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "timeoutSeconds": {
                                                                                "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "stderrConfig": {
                                                                        "description": "Stores configuration for the stderr stream of the step.",
                                                                        "properties": {
                                                                            "path": {
                                                                                "description": "Path to duplicate stdout stream to on container's local filesystem.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "stdin": {
                                                                        "description": "Whether this container should allocate a buffer for stdin in the container runtime. If this\nis not set, reads from stdin in the container will always result in EOF.\nDefault is false.\n\nDeprecated: This field will be removed in a future release.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "stdinOnce": {
                                                                        "description": "Whether the container runtime should close the stdin channel after it has been opened by\na single attach. When stdin is true the stdin stream will remain open across multiple attach\nsessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the\nfirst client attaches to stdin, and then remains open and accepts data until the client disconnects,\nat which time stdin is closed and remains closed until the container is restarted. If this\nflag is false, a container processes that reads from stdin will never receive an EOF.\nDefault is false\n\nDeprecated: This field will be removed in a future release.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "stdoutConfig": {
                                                                        "description": "Stores configuration for the stdout stream of the step.",
                                                                        "properties": {
                                                                            "path": {
                                                                                "description": "Path to duplicate stdout stream to on container's local filesystem.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "terminationMessagePath": {
                                                                        "description": "Deprecated: This field will be removed in a future release and can't be meaningfully used.",
                                                                        "type": "string"
                                                                    },
                                                                    "terminationMessagePolicy": {
                                                                        "description": "Deprecated: This field will be removed in a future release and can't be meaningfully used.",
                                                                        "type": "string"
                                                                    },
                                                                    "timeout": {
                                                                        "description": "Timeout is the time after which the step times out. Defaults to never.\nRefer to Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration",
                                                                        "type": "string"
                                                                    },
                                                                    "tty": {
                                                                        "description": "Whether this container should allocate a DeprecatedTTY for itself, also requires 'stdin' to be true.\nDefault is false.\n\nDeprecated: This field will be removed in a future release.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "volumeDevices": {
                                                                        "description": "volumeDevices is the list of block devices to be used by the Step.",
                                                                        "items": {
                                                                            "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                                                            "properties": {
                                                                                "devicePath": {
                                                                                    "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "name must match the name of a persistentVolumeClaim in the pod",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "devicePath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "volumeMounts": {
                                                                        "description": "Volumes to mount into the Step's filesystem.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                            "properties": {
                                                                                "mountPath": {
                                                                                    "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                                    "type": "string"
                                                                                },
                                                                                "mountPropagation": {
                                                                                    "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "This must match the Name of a Volume.",
                                                                                    "type": "string"
                                                                                },
                                                                                "readOnly": {
                                                                                    "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "recursiveReadOnly": {
                                                                                    "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPath": {
                                                                                    "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPathExpr": {
                                                                                    "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "mountPath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "when": {
                                                                        "description": "WhenExpressions are used to specify whether a Task should be executed or skipped\nAll of them need to evaluate to True for a guarded Task to be executed.",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "workingDir": {
                                                                        "description": "Step's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                                        "type": "string"
                                                                    },
                                                                    "workspaces": {
                                                                        "description": "This is an alpha field. You must set the \"enable-api-fields\" feature flag to \"alpha\"\nfor this field to be supported.\n\nWorkspaces is a list of workspaces from the Task that this Step wants\nexclusive access to. Adding a workspace to this list means that any\nother Step or Sidecar that does not also request this Workspace will\nnot have access to it.",
                                                                        "items": {
                                                                            "description": "WorkspaceUsage is used by a Step or Sidecar to declare that it wants isolated access\nto a Workspace defined in a Task.",
                                                                            "properties": {
                                                                                "mountPath": {
                                                                                    "description": "MountPath is the path that the workspace should be mounted to inside the Step or Sidecar,\noverriding any MountPath specified in the Task's WorkspaceDeclaration.",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "Name is the name of the workspace this Step or Sidecar wants access to.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "mountPath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "volumes": {
                                                            "description": "Volumes is a collection of volumes that are available to mount into the\nsteps of the build.\nSee Pod.spec.volumes (API version: v1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "workspaces": {
                                                            "description": "Workspaces are the volumes that this Task requires.",
                                                            "items": {
                                                                "description": "WorkspaceDeclaration is a declaration of a volume that a Task requires.",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is an optional human readable description of this volume.",
                                                                        "type": "string"
                                                                    },
                                                                    "mountPath": {
                                                                        "description": "MountPath overrides the directory that the volume will be made available at.",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name by which you can bind the volume at runtime.",
                                                                        "type": "string"
                                                                    },
                                                                    "optional": {
                                                                        "description": "Optional marks a Workspace as not being required in TaskRuns. By default\nthis field is false and so declared workspaces are required.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "readOnly": {
                                                                        "description": "ReadOnly dictates whether a mounted volume is writable. By default this\nfield is false and so mounted volumes are writable.",
                                                                        "type": "boolean"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "name": "v1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "Task represents a collection of sequential steps that are run as part of a\nPipeline using a set of inputs and producing a set of outputs. Tasks execute\nwhen TaskRuns are created that provide the input parameters and resources and\noutput resources the Task requires.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "Spec holds the desired state of the Task from the client",
                                                    "properties": {
                                                        "description": {
                                                            "description": "Description is a user-facing description of the task that may be\nused to populate a UI.",
                                                            "type": "string"
                                                        },
                                                        "displayName": {
                                                            "description": "DisplayName is a user-facing name of the task that may be\nused to populate a UI.",
                                                            "type": "string"
                                                        },
                                                        "params": {
                                                            "description": "Params is a list of input parameters required to run the task. Params\nmust be supplied as inputs in TaskRuns unless they declare a default\nvalue.",
                                                            "items": {
                                                                "description": "ParamSpec defines arbitrary parameters needed beyond typed inputs (such as\nresources). Parameter values are provided by users as inputs on a TaskRun\nor PipelineRun.",
                                                                "properties": {
                                                                    "default": {
                                                                        "description": "Default is the value a parameter takes if no input value is supplied. If\ndefault is set, a Task may be executed without a supplied value for the\nparameter.",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    },
                                                                    "description": {
                                                                        "description": "Description is a user-facing description of the parameter that may be\nused to populate a UI.",
                                                                        "type": "string"
                                                                    },
                                                                    "enum": {
                                                                        "description": "Enum declares a set of allowed param input values for tasks/pipelines that can be validated.\nIf Enum is not set, no input validation is performed for the param.",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name declares the name by which a parameter is referenced.",
                                                                        "type": "string"
                                                                    },
                                                                    "properties": {
                                                                        "additionalProperties": {
                                                                            "description": "PropertySpec defines the struct for object keys",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "description": "Properties is the JSON Schema properties to support key-value pairs parameter.",
                                                                        "type": "object"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the parameter. The possible types\nare currently \"string\", \"array\" and \"object\", and \"string\" is the default.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "results": {
                                                            "description": "Results are values that this Task can output",
                                                            "items": {
                                                                "description": "TaskResult used to describe the results of a task",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is a human-readable description of the result",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name the given name",
                                                                        "type": "string"
                                                                    },
                                                                    "properties": {
                                                                        "additionalProperties": {
                                                                            "description": "PropertySpec defines the struct for object keys",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "description": "Properties is the JSON Schema properties to support key-value pairs results.",
                                                                        "type": "object"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the result. The possible type\nis currently \"string\" and will support \"array\" in following work.",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Value the expression used to retrieve the value of the result from an underlying Step.",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "sidecars": {
                                                            "description": "Sidecars are run alongside the Task's step containers. They begin before\nthe steps start and end after the steps complete.",
                                                            "items": {
                                                                "description": "Sidecar has nearly the same data structure as Step but does not have the ability to timeout.",
                                                                "properties": {
                                                                    "args": {
                                                                        "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Sidecar's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "command": {
                                                                        "description": "Entrypoint array. Not executed within a shell.\nThe image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Sidecar's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "computeResources": {
                                                                        "description": "ComputeResources required by this Sidecar.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                        "properties": {
                                                                            "claims": {
                                                                                "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                "items": {
                                                                                    "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "request": {
                                                                                            "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "name"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "limits": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            },
                                                                            "requests": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "env": {
                                                                        "description": "List of environment variables to set in the Sidecar.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "EnvVar represents an environment variable present in a Container.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                    "type": "string"
                                                                                },
                                                                                "valueFrom": {
                                                                                    "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                    "properties": {
                                                                                        "configMapKeyRef": {
                                                                                            "description": "Selects a key of a ConfigMap.",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "The key to select.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "fieldRef": {
                                                                                            "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                            "properties": {
                                                                                                "apiVersion": {
                                                                                                    "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "fieldPath": {
                                                                                                    "description": "Path of the field to select in the specified API version.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "fieldPath"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "resourceFieldRef": {
                                                                                            "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                            "properties": {
                                                                                                "containerName": {
                                                                                                    "description": "Container name: required for volumes, optional for env vars",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "divisor": {
                                                                                                    "anyOf": [
                                                                                                        {
                                                                                                            "type": "integer"
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    ],
                                                                                                    "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                    "x-kubernetes-int-or-string": true
                                                                                                },
                                                                                                "resource": {
                                                                                                    "description": "Required: resource to select",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "resource"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "secretKeyRef": {
                                                                                            "description": "Selects a key of a secret in the pod's namespace",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the Secret or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "envFrom": {
                                                                        "description": "List of sources to populate environment variables in the Sidecar.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the container is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "EnvFromSource represents the source of a set of ConfigMaps",
                                                                            "properties": {
                                                                                "configMapRef": {
                                                                                    "description": "The ConfigMap to select from",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "default": "",
                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "optional": {
                                                                                            "description": "Specify whether the ConfigMap must be defined",
                                                                                            "type": "boolean"
                                                                                        }
                                                                                    },
                                                                                    "type": "object",
                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                },
                                                                                "prefix": {
                                                                                    "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
                                                                                    "type": "string"
                                                                                },
                                                                                "secretRef": {
                                                                                    "description": "The Secret to select from",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "default": "",
                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "optional": {
                                                                                            "description": "Specify whether the Secret must be defined",
                                                                                            "type": "boolean"
                                                                                        }
                                                                                    },
                                                                                    "type": "object",
                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "image": {
                                                                        "description": "Image reference name.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                                                        "type": "string"
                                                                    },
                                                                    "imagePullPolicy": {
                                                                        "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
                                                                        "type": "string"
                                                                    },
                                                                    "lifecycle": {
                                                                        "description": "Actions that the management system should take in response to Sidecar lifecycle events.\nCannot be updated.",
                                                                        "properties": {
                                                                            "postStart": {
                                                                                "description": "PostStart is called immediately after a container is created. If the handler fails,\nthe container is terminated and restarted according to its restart policy.\nOther management of the container blocks until the hook completes.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
                                                                                "properties": {
                                                                                    "exec": {
                                                                                        "description": "Exec specifies a command to execute in the container.",
                                                                                        "properties": {
                                                                                            "command": {
                                                                                                "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                "items": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "httpGet": {
                                                                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "httpHeaders": {
                                                                                                "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                "items": {
                                                                                                    "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                    "properties": {
                                                                                                        "name": {
                                                                                                            "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "value": {
                                                                                                            "description": "The header field value",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "name",
                                                                                                        "value"
                                                                                                    ],
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "path": {
                                                                                                "description": "Path to access on the HTTP server.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "scheme": {
                                                                                                "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "sleep": {
                                                                                        "description": "Sleep represents a duration that the container should sleep.",
                                                                                        "properties": {
                                                                                            "seconds": {
                                                                                                "description": "Seconds is the number of seconds to sleep.",
                                                                                                "format": "int64",
                                                                                                "type": "integer"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "seconds"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "tcpSocket": {
                                                                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility. There is no validation of this field and\nlifecycle hooks will fail at runtime when it is specified.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "preStop": {
                                                                                "description": "PreStop is called immediately before a container is terminated due to an\nAPI request or management event such as liveness/startup probe failure,\npreemption, resource contention, etc. The handler is not called if the\ncontainer crashes or exits. The Pod's termination grace period countdown begins before the\nPreStop hook is executed. Regardless of the outcome of the handler, the\ncontainer will eventually terminate within the Pod's termination grace\nperiod (unless delayed by finalizers). Other management of the container blocks until the hook completes\nor until the termination grace period is reached.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
                                                                                "properties": {
                                                                                    "exec": {
                                                                                        "description": "Exec specifies a command to execute in the container.",
                                                                                        "properties": {
                                                                                            "command": {
                                                                                                "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                "items": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "httpGet": {
                                                                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "httpHeaders": {
                                                                                                "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                "items": {
                                                                                                    "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                    "properties": {
                                                                                                        "name": {
                                                                                                            "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "value": {
                                                                                                            "description": "The header field value",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "name",
                                                                                                        "value"
                                                                                                    ],
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "path": {
                                                                                                "description": "Path to access on the HTTP server.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "scheme": {
                                                                                                "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "sleep": {
                                                                                        "description": "Sleep represents a duration that the container should sleep.",
                                                                                        "properties": {
                                                                                            "seconds": {
                                                                                                "description": "Seconds is the number of seconds to sleep.",
                                                                                                "format": "int64",
                                                                                                "type": "integer"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "seconds"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "tcpSocket": {
                                                                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility. There is no validation of this field and\nlifecycle hooks will fail at runtime when it is specified.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "livenessProbe": {
                                                                        "description": "Periodic probe of Sidecar liveness.\nContainer will be restarted if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                        "properties": {
                                                                            "exec": {
                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                "properties": {
                                                                                    "command": {
                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "failureThreshold": {
                                                                                "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "grpc": {
                                                                                "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                "properties": {
                                                                                    "port": {
                                                                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "service": {
                                                                                        "default": "",
                                                                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "httpGet": {
                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "httpHeaders": {
                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                        "items": {
                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "The header field value",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "path": {
                                                                                        "description": "Path to access on the HTTP server.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "scheme": {
                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "initialDelaySeconds": {
                                                                                "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "periodSeconds": {
                                                                                "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "successThreshold": {
                                                                                "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "tcpSocket": {
                                                                                "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "terminationGracePeriodSeconds": {
                                                                                "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "timeoutSeconds": {
                                                                                "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name of the Sidecar specified as a DNS_LABEL.\nEach Sidecar in a Task must have a unique name (DNS_LABEL).\nCannot be updated.",
                                                                        "type": "string"
                                                                    },
                                                                    "ports": {
                                                                        "description": "List of ports to expose from the Sidecar. Exposing a port here gives\nthe system additional information about the network connections a\ncontainer uses, but is primarily informational. Not specifying a port here\nDOES NOT prevent that port from being exposed. Any port which is\nlistening on the default \"0.0.0.0\" address inside a container will be\naccessible from the network.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "ContainerPort represents a network port in a single container.",
                                                                            "properties": {
                                                                                "containerPort": {
                                                                                    "description": "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 \u003c x \u003c 65536.",
                                                                                    "format": "int32",
                                                                                    "type": "integer"
                                                                                },
                                                                                "hostIP": {
                                                                                    "description": "What host IP to bind the external port to.",
                                                                                    "type": "string"
                                                                                },
                                                                                "hostPort": {
                                                                                    "description": "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 \u003c x \u003c 65536.\nIf HostNetwork is specified, this must match ContainerPort.\nMost containers do not need this.",
                                                                                    "format": "int32",
                                                                                    "type": "integer"
                                                                                },
                                                                                "name": {
                                                                                    "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each\nnamed port in a pod must have a unique name. Name for the port that can be\nreferred to by services.",
                                                                                    "type": "string"
                                                                                },
                                                                                "protocol": {
                                                                                    "default": "TCP",
                                                                                    "description": "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\".",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "containerPort"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-map-keys": [
                                                                            "containerPort",
                                                                            "protocol"
                                                                        ],
                                                                        "x-kubernetes-list-type": "map"
                                                                    },
                                                                    "readinessProbe": {
                                                                        "description": "Periodic probe of Sidecar service readiness.\nContainer will be removed from service endpoints if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                        "properties": {
                                                                            "exec": {
                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                "properties": {
                                                                                    "command": {
                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "failureThreshold": {
                                                                                "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "grpc": {
                                                                                "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                "properties": {
                                                                                    "port": {
                                                                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "service": {
                                                                                        "default": "",
                                                                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "httpGet": {
                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "httpHeaders": {
                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                        "items": {
                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "The header field value",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "path": {
                                                                                        "description": "Path to access on the HTTP server.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "scheme": {
                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "initialDelaySeconds": {
                                                                                "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "periodSeconds": {
                                                                                "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "successThreshold": {
                                                                                "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "tcpSocket": {
                                                                                "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "terminationGracePeriodSeconds": {
                                                                                "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "timeoutSeconds": {
                                                                                "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "restartPolicy": {
                                                                        "description": "RestartPolicy refers to kubernetes RestartPolicy. It can only be set for an\ninitContainer and must have it's policy set to \"Always\". It is currently\nleft optional to help support Kubernetes versions prior to 1.29 when this feature\nwas introduced.",
                                                                        "type": "string"
                                                                    },
                                                                    "script": {
                                                                        "description": "Script is the contents of an executable file to execute.\n\nIf Script is not empty, the Step cannot have an Command or Args.",
                                                                        "type": "string"
                                                                    },
                                                                    "securityContext": {
                                                                        "description": "SecurityContext defines the security options the Sidecar should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
                                                                        "properties": {
                                                                            "allowPrivilegeEscalation": {
                                                                                "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "appArmorProfile": {
                                                                                "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "localhostProfile": {
                                                                                        "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "type"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "capabilities": {
                                                                                "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "add": {
                                                                                        "description": "Added capabilities",
                                                                                        "items": {
                                                                                            "description": "Capability represent POSIX capabilities type",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "drop": {
                                                                                        "description": "Removed capabilities",
                                                                                        "items": {
                                                                                            "description": "Capability represent POSIX capabilities type",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "privileged": {
                                                                                "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "procMount": {
                                                                                "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnlyRootFilesystem": {
                                                                                "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "runAsGroup": {
                                                                                "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "runAsNonRoot": {
                                                                                "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "runAsUser": {
                                                                                "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "seLinuxOptions": {
                                                                                "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "level": {
                                                                                        "description": "Level is SELinux level label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "role": {
                                                                                        "description": "Role is a SELinux role label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "Type is a SELinux type label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "user": {
                                                                                        "description": "User is a SELinux user label that applies to the container.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "seccompProfile": {
                                                                                "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "localhostProfile": {
                                                                                        "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "type"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "windowsOptions": {
                                                                                "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                                "properties": {
                                                                                    "gmsaCredentialSpec": {
                                                                                        "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "gmsaCredentialSpecName": {
                                                                                        "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "hostProcess": {
                                                                                        "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "runAsUserName": {
                                                                                        "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "startupProbe": {
                                                                        "description": "StartupProbe indicates that the Pod the Sidecar is running in has successfully initialized.\nIf specified, no other probes are executed until this completes successfully.\nIf this probe fails, the Pod will be restarted, just as if the livenessProbe failed.\nThis can be used to provide different probe parameters at the beginning of a Pod's lifecycle,\nwhen it might take a long time to load data or warm a cache, than during steady-state operation.\nThis cannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                        "properties": {
                                                                            "exec": {
                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                "properties": {
                                                                                    "command": {
                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                        "items": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "failureThreshold": {
                                                                                "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "grpc": {
                                                                                "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                "properties": {
                                                                                    "port": {
                                                                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "service": {
                                                                                        "default": "",
                                                                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "httpGet": {
                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "httpHeaders": {
                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                        "items": {
                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "description": "The header field value",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "path": {
                                                                                        "description": "Path to access on the HTTP server.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "scheme": {
                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "initialDelaySeconds": {
                                                                                "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "periodSeconds": {
                                                                                "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "successThreshold": {
                                                                                "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "tcpSocket": {
                                                                                "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                "properties": {
                                                                                    "host": {
                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "port": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "port"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "terminationGracePeriodSeconds": {
                                                                                "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "timeoutSeconds": {
                                                                                "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "stdin": {
                                                                        "description": "Whether this Sidecar should allocate a buffer for stdin in the container runtime. If this\nis not set, reads from stdin in the Sidecar will always result in EOF.\nDefault is false.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "stdinOnce": {
                                                                        "description": "Whether the container runtime should close the stdin channel after it has been opened by\na single attach. When stdin is true the stdin stream will remain open across multiple attach\nsessions. If stdinOnce is set to true, stdin is opened on Sidecar start, is empty until the\nfirst client attaches to stdin, and then remains open and accepts data until the client disconnects,\nat which time stdin is closed and remains closed until the Sidecar is restarted. If this\nflag is false, a container processes that reads from stdin will never receive an EOF.\nDefault is false",
                                                                        "type": "boolean"
                                                                    },
                                                                    "terminationMessagePath": {
                                                                        "description": "Optional: Path at which the file to which the Sidecar's termination message\nwill be written is mounted into the Sidecar's filesystem.\nMessage written is intended to be brief final status, such as an assertion failure message.\nWill be truncated by the node if greater than 4096 bytes. The total message length across\nall containers will be limited to 12kb.\nDefaults to /dev/termination-log.\nCannot be updated.",
                                                                        "type": "string"
                                                                    },
                                                                    "terminationMessagePolicy": {
                                                                        "description": "Indicate how the termination message should be populated. File will use the contents of\nterminationMessagePath to populate the Sidecar status message on both success and failure.\nFallbackToLogsOnError will use the last chunk of Sidecar log output if the termination\nmessage file is empty and the Sidecar exited with an error.\nThe log output is limited to 2048 bytes or 80 lines, whichever is smaller.\nDefaults to File.\nCannot be updated.",
                                                                        "type": "string"
                                                                    },
                                                                    "tty": {
                                                                        "description": "Whether this Sidecar should allocate a TTY for itself, also requires 'stdin' to be true.\nDefault is false.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "volumeDevices": {
                                                                        "description": "volumeDevices is the list of block devices to be used by the Sidecar.",
                                                                        "items": {
                                                                            "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                                                            "properties": {
                                                                                "devicePath": {
                                                                                    "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "name must match the name of a persistentVolumeClaim in the pod",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "devicePath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "volumeMounts": {
                                                                        "description": "Volumes to mount into the Sidecar's filesystem.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                            "properties": {
                                                                                "mountPath": {
                                                                                    "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                                    "type": "string"
                                                                                },
                                                                                "mountPropagation": {
                                                                                    "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "This must match the Name of a Volume.",
                                                                                    "type": "string"
                                                                                },
                                                                                "readOnly": {
                                                                                    "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "recursiveReadOnly": {
                                                                                    "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPath": {
                                                                                    "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPathExpr": {
                                                                                    "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "mountPath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "workingDir": {
                                                                        "description": "Sidecar's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                                        "type": "string"
                                                                    },
                                                                    "workspaces": {
                                                                        "description": "This is an alpha field. You must set the \"enable-api-fields\" feature flag to \"alpha\"\nfor this field to be supported.\n\nWorkspaces is a list of workspaces from the Task that this Sidecar wants\nexclusive access to. Adding a workspace to this list means that any\nother Step or Sidecar that does not also request this Workspace will\nnot have access to it.",
                                                                        "items": {
                                                                            "description": "WorkspaceUsage is used by a Step or Sidecar to declare that it wants isolated access\nto a Workspace defined in a Task.",
                                                                            "properties": {
                                                                                "mountPath": {
                                                                                    "description": "MountPath is the path that the workspace should be mounted to inside the Step or Sidecar,\noverriding any MountPath specified in the Task's WorkspaceDeclaration.",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "Name is the name of the workspace this Step or Sidecar wants access to.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "mountPath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "stepTemplate": {
                                                            "description": "StepTemplate can be used as the basis for all step containers within the\nTask, so that the steps inherit settings on the base container.",
                                                            "properties": {
                                                                "args": {
                                                                    "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Step's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "command": {
                                                                    "description": "Entrypoint array. Not executed within a shell.\nThe image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Step's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "computeResources": {
                                                                    "description": "ComputeResources required by this Step.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                    "properties": {
                                                                        "claims": {
                                                                            "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                            "items": {
                                                                                "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "request": {
                                                                                        "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "name"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-map-keys": [
                                                                                "name"
                                                                            ],
                                                                            "x-kubernetes-list-type": "map"
                                                                        },
                                                                        "limits": {
                                                                            "additionalProperties": {
                                                                                "anyOf": [
                                                                                    {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ],
                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                "x-kubernetes-int-or-string": true
                                                                            },
                                                                            "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                            "type": "object"
                                                                        },
                                                                        "requests": {
                                                                            "additionalProperties": {
                                                                                "anyOf": [
                                                                                    {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ],
                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                "x-kubernetes-int-or-string": true
                                                                            },
                                                                            "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                            "type": "object"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "env": {
                                                                    "description": "List of environment variables to set in the Step.\nCannot be updated.",
                                                                    "items": {
                                                                        "description": "EnvVar represents an environment variable present in a Container.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                "type": "string"
                                                                            },
                                                                            "valueFrom": {
                                                                                "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                "properties": {
                                                                                    "configMapKeyRef": {
                                                                                        "description": "Selects a key of a ConfigMap.",
                                                                                        "properties": {
                                                                                            "key": {
                                                                                                "description": "The key to select.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "key"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "fieldRef": {
                                                                                        "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                        "properties": {
                                                                                            "apiVersion": {
                                                                                                "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "fieldPath": {
                                                                                                "description": "Path of the field to select in the specified API version.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "fieldPath"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "resourceFieldRef": {
                                                                                        "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                        "properties": {
                                                                                            "containerName": {
                                                                                                "description": "Container name: required for volumes, optional for env vars",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "divisor": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "resource": {
                                                                                                "description": "Required: resource to select",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "resource"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "secretKeyRef": {
                                                                                        "description": "Selects a key of a secret in the pod's namespace",
                                                                                        "properties": {
                                                                                            "key": {
                                                                                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the Secret or its key must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "key"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "envFrom": {
                                                                    "description": "List of sources to populate environment variables in the Step.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the Step is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.",
                                                                    "items": {
                                                                        "description": "EnvFromSource represents the source of a set of ConfigMaps",
                                                                        "properties": {
                                                                            "configMapRef": {
                                                                                "description": "The ConfigMap to select from",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "optional": {
                                                                                        "description": "Specify whether the ConfigMap must be defined",
                                                                                        "type": "boolean"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "prefix": {
                                                                                "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
                                                                                "type": "string"
                                                                            },
                                                                            "secretRef": {
                                                                                "description": "The Secret to select from",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "optional": {
                                                                                        "description": "Specify whether the Secret must be defined",
                                                                                        "type": "boolean"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "image": {
                                                                    "description": "Image reference name.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                                                    "type": "string"
                                                                },
                                                                "imagePullPolicy": {
                                                                    "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
                                                                    "type": "string"
                                                                },
                                                                "securityContext": {
                                                                    "description": "SecurityContext defines the security options the Step should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
                                                                    "properties": {
                                                                        "allowPrivilegeEscalation": {
                                                                            "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "appArmorProfile": {
                                                                            "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "properties": {
                                                                                "localhostProfile": {
                                                                                    "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                                    "type": "string"
                                                                                },
                                                                                "type": {
                                                                                    "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "capabilities": {
                                                                            "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "properties": {
                                                                                "add": {
                                                                                    "description": "Added capabilities",
                                                                                    "items": {
                                                                                        "description": "Capability represent POSIX capabilities type",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                },
                                                                                "drop": {
                                                                                    "description": "Removed capabilities",
                                                                                    "items": {
                                                                                        "description": "Capability represent POSIX capabilities type",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "privileged": {
                                                                            "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "procMount": {
                                                                            "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "type": "string"
                                                                        },
                                                                        "readOnlyRootFilesystem": {
                                                                            "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "runAsGroup": {
                                                                            "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "format": "int64",
                                                                            "type": "integer"
                                                                        },
                                                                        "runAsNonRoot": {
                                                                            "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                            "type": "boolean"
                                                                        },
                                                                        "runAsUser": {
                                                                            "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "format": "int64",
                                                                            "type": "integer"
                                                                        },
                                                                        "seLinuxOptions": {
                                                                            "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "properties": {
                                                                                "level": {
                                                                                    "description": "Level is SELinux level label that applies to the container.",
                                                                                    "type": "string"
                                                                                },
                                                                                "role": {
                                                                                    "description": "Role is a SELinux role label that applies to the container.",
                                                                                    "type": "string"
                                                                                },
                                                                                "type": {
                                                                                    "description": "Type is a SELinux type label that applies to the container.",
                                                                                    "type": "string"
                                                                                },
                                                                                "user": {
                                                                                    "description": "User is a SELinux user label that applies to the container.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "seccompProfile": {
                                                                            "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                            "properties": {
                                                                                "localhostProfile": {
                                                                                    "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                                    "type": "string"
                                                                                },
                                                                                "type": {
                                                                                    "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "windowsOptions": {
                                                                            "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                            "properties": {
                                                                                "gmsaCredentialSpec": {
                                                                                    "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                                    "type": "string"
                                                                                },
                                                                                "gmsaCredentialSpecName": {
                                                                                    "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                                    "type": "string"
                                                                                },
                                                                                "hostProcess": {
                                                                                    "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "runAsUserName": {
                                                                                    "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "volumeDevices": {
                                                                    "description": "volumeDevices is the list of block devices to be used by the Step.",
                                                                    "items": {
                                                                        "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                                                        "properties": {
                                                                            "devicePath": {
                                                                                "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "name must match the name of a persistentVolumeClaim in the pod",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "devicePath",
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "volumeMounts": {
                                                                    "description": "Volumes to mount into the Step's filesystem.\nCannot be updated.",
                                                                    "items": {
                                                                        "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                        "properties": {
                                                                            "mountPath": {
                                                                                "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                                "type": "string"
                                                                            },
                                                                            "mountPropagation": {
                                                                                "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "This must match the Name of a Volume.",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "recursiveReadOnly": {
                                                                                "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                                "type": "string"
                                                                            },
                                                                            "subPath": {
                                                                                "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                                "type": "string"
                                                                            },
                                                                            "subPathExpr": {
                                                                                "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "mountPath",
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "workingDir": {
                                                                    "description": "Step's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "steps": {
                                                            "description": "Steps are the steps of the build; each step is run sequentially with the\nsource mounted into /workspace.",
                                                            "items": {
                                                                "description": "Step runs a subcomponent of a Task",
                                                                "properties": {
                                                                    "args": {
                                                                        "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "command": {
                                                                        "description": "Entrypoint array. Not executed within a shell.\nThe image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "computeResources": {
                                                                        "description": "ComputeResources required by this Step.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                        "properties": {
                                                                            "claims": {
                                                                                "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                "items": {
                                                                                    "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "request": {
                                                                                            "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "name"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "limits": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            },
                                                                            "requests": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "env": {
                                                                        "description": "List of environment variables to set in the Step.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "EnvVar represents an environment variable present in a Container.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                    "type": "string"
                                                                                },
                                                                                "valueFrom": {
                                                                                    "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                    "properties": {
                                                                                        "configMapKeyRef": {
                                                                                            "description": "Selects a key of a ConfigMap.",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "The key to select.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "fieldRef": {
                                                                                            "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                            "properties": {
                                                                                                "apiVersion": {
                                                                                                    "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "fieldPath": {
                                                                                                    "description": "Path of the field to select in the specified API version.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "fieldPath"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "resourceFieldRef": {
                                                                                            "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                            "properties": {
                                                                                                "containerName": {
                                                                                                    "description": "Container name: required for volumes, optional for env vars",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "divisor": {
                                                                                                    "anyOf": [
                                                                                                        {
                                                                                                            "type": "integer"
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    ],
                                                                                                    "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                    "x-kubernetes-int-or-string": true
                                                                                                },
                                                                                                "resource": {
                                                                                                    "description": "Required: resource to select",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "resource"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "secretKeyRef": {
                                                                                            "description": "Selects a key of a secret in the pod's namespace",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the Secret or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key"
                                                                                            ],
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "envFrom": {
                                                                        "description": "List of sources to populate environment variables in the Step.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the Step is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "EnvFromSource represents the source of a set of ConfigMaps",
                                                                            "properties": {
                                                                                "configMapRef": {
                                                                                    "description": "The ConfigMap to select from",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "default": "",
                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "optional": {
                                                                                            "description": "Specify whether the ConfigMap must be defined",
                                                                                            "type": "boolean"
                                                                                        }
                                                                                    },
                                                                                    "type": "object",
                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                },
                                                                                "prefix": {
                                                                                    "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
                                                                                    "type": "string"
                                                                                },
                                                                                "secretRef": {
                                                                                    "description": "The Secret to select from",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "default": "",
                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "optional": {
                                                                                            "description": "Specify whether the Secret must be defined",
                                                                                            "type": "boolean"
                                                                                        }
                                                                                    },
                                                                                    "type": "object",
                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "image": {
                                                                        "description": "Docker image name.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                                                        "type": "string"
                                                                    },
                                                                    "imagePullPolicy": {
                                                                        "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name of the Step specified as a DNS_LABEL.\nEach Step in a Task must have a unique name.",
                                                                        "type": "string"
                                                                    },
                                                                    "onError": {
                                                                        "description": "OnError defines the exiting behavior of a container on error\ncan be set to [ continue | stopAndFail ]",
                                                                        "type": "string"
                                                                    },
                                                                    "params": {
                                                                        "description": "Params declares parameters passed to this step action.",
                                                                        "items": {
                                                                            "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name",
                                                                                "value"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "ref": {
                                                                        "description": "Contains the reference to an existing StepAction.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name of the referenced step",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resolver": {
                                                                                "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "results": {
                                                                        "description": "Results declares StepResults produced by the Step.\n\nIt can be used in an inlined Step when used to store Results to $(step.results.resultName.path).\nIt cannot be used when referencing StepActions using [v1.Step.Ref].\nThe Results declared by the StepActions will be stored here instead.",
                                                                        "items": {
                                                                            "description": "StepResult used to describe the Results of a Step.",
                                                                            "properties": {
                                                                                "description": {
                                                                                    "description": "Description is a human-readable description of the result",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "Name the given name",
                                                                                    "type": "string"
                                                                                },
                                                                                "properties": {
                                                                                    "additionalProperties": {
                                                                                        "description": "PropertySpec defines the struct for object keys",
                                                                                        "properties": {
                                                                                            "type": {
                                                                                                "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "description": "Properties is the JSON Schema properties to support key-value pairs results.",
                                                                                    "type": "object"
                                                                                },
                                                                                "type": {
                                                                                    "description": "The possible types are 'string', 'array', and 'object', with 'string' as the default.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "script": {
                                                                        "description": "Script is the contents of an executable file to execute.\n\nIf Script is not empty, the Step cannot have an Command and the Args will be passed to the Script.",
                                                                        "type": "string"
                                                                    },
                                                                    "securityContext": {
                                                                        "description": "SecurityContext defines the security options the Step should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
                                                                        "properties": {
                                                                            "allowPrivilegeEscalation": {
                                                                                "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "appArmorProfile": {
                                                                                "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "localhostProfile": {
                                                                                        "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "type"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "capabilities": {
                                                                                "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "add": {
                                                                                        "description": "Added capabilities",
                                                                                        "items": {
                                                                                            "description": "Capability represent POSIX capabilities type",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "drop": {
                                                                                        "description": "Removed capabilities",
                                                                                        "items": {
                                                                                            "description": "Capability represent POSIX capabilities type",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "privileged": {
                                                                                "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "procMount": {
                                                                                "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnlyRootFilesystem": {
                                                                                "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "runAsGroup": {
                                                                                "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "runAsNonRoot": {
                                                                                "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "runAsUser": {
                                                                                "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "seLinuxOptions": {
                                                                                "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "level": {
                                                                                        "description": "Level is SELinux level label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "role": {
                                                                                        "description": "Role is a SELinux role label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "Type is a SELinux type label that applies to the container.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "user": {
                                                                                        "description": "User is a SELinux user label that applies to the container.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "seccompProfile": {
                                                                                "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                "properties": {
                                                                                    "localhostProfile": {
                                                                                        "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "type"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "windowsOptions": {
                                                                                "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                                "properties": {
                                                                                    "gmsaCredentialSpec": {
                                                                                        "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "gmsaCredentialSpecName": {
                                                                                        "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "hostProcess": {
                                                                                        "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "runAsUserName": {
                                                                                        "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "stderrConfig": {
                                                                        "description": "Stores configuration for the stderr stream of the step.",
                                                                        "properties": {
                                                                            "path": {
                                                                                "description": "Path to duplicate stdout stream to on container's local filesystem.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "stdoutConfig": {
                                                                        "description": "Stores configuration for the stdout stream of the step.",
                                                                        "properties": {
                                                                            "path": {
                                                                                "description": "Path to duplicate stdout stream to on container's local filesystem.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "timeout": {
                                                                        "description": "Timeout is the time after which the step times out. Defaults to never.\nRefer to Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration",
                                                                        "type": "string"
                                                                    },
                                                                    "volumeDevices": {
                                                                        "description": "volumeDevices is the list of block devices to be used by the Step.",
                                                                        "items": {
                                                                            "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                                                            "properties": {
                                                                                "devicePath": {
                                                                                    "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "name must match the name of a persistentVolumeClaim in the pod",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "devicePath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "volumeMounts": {
                                                                        "description": "Volumes to mount into the Step's filesystem.\nCannot be updated.",
                                                                        "items": {
                                                                            "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                            "properties": {
                                                                                "mountPath": {
                                                                                    "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                                    "type": "string"
                                                                                },
                                                                                "mountPropagation": {
                                                                                    "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "This must match the Name of a Volume.",
                                                                                    "type": "string"
                                                                                },
                                                                                "readOnly": {
                                                                                    "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "recursiveReadOnly": {
                                                                                    "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPath": {
                                                                                    "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                                    "type": "string"
                                                                                },
                                                                                "subPathExpr": {
                                                                                    "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "mountPath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    },
                                                                    "when": {
                                                                        "description": "When is a list of when expressions that need to be true for the task to run",
                                                                        "items": {
                                                                            "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                            "properties": {
                                                                                "cel": {
                                                                                    "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                    "type": "string"
                                                                                },
                                                                                "input": {
                                                                                    "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                    "type": "string"
                                                                                },
                                                                                "operator": {
                                                                                    "description": "Operator that represents an Input's relationship to the values",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "workingDir": {
                                                                        "description": "Step's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                                        "type": "string"
                                                                    },
                                                                    "workspaces": {
                                                                        "description": "This is an alpha field. You must set the \"enable-api-fields\" feature flag to \"alpha\"\nfor this field to be supported.\n\nWorkspaces is a list of workspaces from the Task that this Step wants\nexclusive access to. Adding a workspace to this list means that any\nother Step or Sidecar that does not also request this Workspace will\nnot have access to it.",
                                                                        "items": {
                                                                            "description": "WorkspaceUsage is used by a Step or Sidecar to declare that it wants isolated access\nto a Workspace defined in a Task.",
                                                                            "properties": {
                                                                                "mountPath": {
                                                                                    "description": "MountPath is the path that the workspace should be mounted to inside the Step or Sidecar,\noverriding any MountPath specified in the Task's WorkspaceDeclaration.",
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "description": "Name is the name of the workspace this Step or Sidecar wants access to.",
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "mountPath",
                                                                                "name"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array",
                                                                        "x-kubernetes-list-type": "atomic"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "volumes": {
                                                            "description": "Volumes is a collection of volumes that are available to mount into the\nsteps of the build.\nSee Pod.spec.volumes (API version: v1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "workspaces": {
                                                            "description": "Workspaces are the volumes that this Task requires.",
                                                            "items": {
                                                                "description": "WorkspaceDeclaration is a declaration of a volume that a Task requires.",
                                                                "properties": {
                                                                    "description": {
                                                                        "description": "Description is an optional human readable description of this volume.",
                                                                        "type": "string"
                                                                    },
                                                                    "mountPath": {
                                                                        "description": "MountPath overrides the directory that the volume will be made available at.",
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name by which you can bind the volume at runtime.",
                                                                        "type": "string"
                                                                    },
                                                                    "optional": {
                                                                        "description": "Optional marks a Workspace as not being required in TaskRuns. By default\nthis field is false and so declared workspaces are required.",
                                                                        "type": "boolean"
                                                                    },
                                                                    "readOnly": {
                                                                        "description": "ReadOnly dictates whether a mounted volume is writable. By default this\nfield is false and so mounted volumes are writable.",
                                                                        "type": "boolean"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "taskruns.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "conversion": {
                                "strategy": "Webhook",
                                "webhook": {
                                    "clientConfig": {
                                        "service": {
                                            "name": "tekton-pipelines-webhook",
                                            "namespace": "openshift-pipelines"
                                        }
                                    },
                                    "conversionReviewVersions": [
                                        "v1beta1",
                                        "v1"
                                    ]
                                }
                            },
                            "group": "tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-pipelines"
                                ],
                                "kind": "TaskRun",
                                "plural": "taskruns",
                                "shortNames": [
                                    "tr",
                                    "trs"
                                ],
                                "singular": "taskrun"
                            },
                            "preserveUnknownFields": false,
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "additionalPrinterColumns": [
                                        {
                                            "jsonPath": ".status.conditions[?(@.type==\"Succeeded\")].status",
                                            "name": "Succeeded",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type==\"Succeeded\")].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.startTime",
                                            "name": "StartTime",
                                            "type": "date"
                                        },
                                        {
                                            "jsonPath": ".status.completionTime",
                                            "name": "CompletionTime",
                                            "type": "date"
                                        }
                                    ],
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "TaskRun represents a single execution of a Task. TaskRuns are how the steps\nspecified in a Task are executed; they specify the parameters and resources\nused to run the steps in a Task.\n\nDeprecated: Please use v1.TaskRun instead.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "TaskRunSpec defines the desired state of TaskRun",
                                                    "properties": {
                                                        "computeResources": {
                                                            "description": "Compute resources to use for this TaskRun",
                                                            "properties": {
                                                                "claims": {
                                                                    "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                    "items": {
                                                                        "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                "type": "string"
                                                                            },
                                                                            "request": {
                                                                                "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-map-keys": [
                                                                        "name"
                                                                    ],
                                                                    "x-kubernetes-list-type": "map"
                                                                },
                                                                "limits": {
                                                                    "additionalProperties": {
                                                                        "anyOf": [
                                                                            {
                                                                                "type": "integer"
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ],
                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                        "x-kubernetes-int-or-string": true
                                                                    },
                                                                    "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                    "type": "object"
                                                                },
                                                                "requests": {
                                                                    "additionalProperties": {
                                                                        "anyOf": [
                                                                            {
                                                                                "type": "integer"
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ],
                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                        "x-kubernetes-int-or-string": true
                                                                    },
                                                                    "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "debug": {
                                                            "description": "TaskRunDebug defines the breakpoint config for a particular TaskRun",
                                                            "properties": {
                                                                "breakpoints": {
                                                                    "description": "TaskBreakpoints defines the breakpoint config for a particular Task",
                                                                    "properties": {
                                                                        "beforeSteps": {
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "onFailure": {
                                                                            "description": "if enabled, pause TaskRun on failure of a step\nfailed step will not exit",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "params": {
                                                            "description": "Params is a list of Param",
                                                            "items": {
                                                                "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                "properties": {
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "podTemplate": {
                                                            "description": "PodTemplate holds pod specific configuration",
                                                            "properties": {
                                                                "affinity": {
                                                                    "description": "If specified, the pod's scheduling constraints.\nSee Pod.spec.affinity (API version: v1)",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                },
                                                                "automountServiceAccountToken": {
                                                                    "description": "AutomountServiceAccountToken indicates whether pods running as this\nservice account should have an API token automatically mounted.",
                                                                    "type": "boolean"
                                                                },
                                                                "dnsConfig": {
                                                                    "description": "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy.",
                                                                    "properties": {
                                                                        "nameservers": {
                                                                            "description": "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed.",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "options": {
                                                                            "description": "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy.",
                                                                            "items": {
                                                                                "description": "PodDNSConfigOption defines DNS resolver options of a pod.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "description": "Name is this DNS resolver option's name.\nRequired.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "value": {
                                                                                        "description": "Value is this DNS resolver option's value.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "searches": {
                                                                            "description": "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed.",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "dnsPolicy": {
                                                                    "description": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are\n'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig\nwill be merged with the policy selected with DNSPolicy.",
                                                                    "type": "string"
                                                                },
                                                                "enableServiceLinks": {
                                                                    "description": "EnableServiceLinks indicates whether information about services should be injected into pod's\nenvironment variables, matching the syntax of Docker links.\nOptional: Defaults to true.",
                                                                    "type": "boolean"
                                                                },
                                                                "env": {
                                                                    "description": "List of environment variables that can be provided to the containers belonging to the pod.",
                                                                    "items": {
                                                                        "description": "EnvVar represents an environment variable present in a Container.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                "type": "string"
                                                                            },
                                                                            "valueFrom": {
                                                                                "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                "properties": {
                                                                                    "configMapKeyRef": {
                                                                                        "description": "Selects a key of a ConfigMap.",
                                                                                        "properties": {
                                                                                            "key": {
                                                                                                "description": "The key to select.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "key"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "fieldRef": {
                                                                                        "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                        "properties": {
                                                                                            "apiVersion": {
                                                                                                "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "fieldPath": {
                                                                                                "description": "Path of the field to select in the specified API version.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "fieldPath"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "resourceFieldRef": {
                                                                                        "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                        "properties": {
                                                                                            "containerName": {
                                                                                                "description": "Container name: required for volumes, optional for env vars",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "divisor": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "resource": {
                                                                                                "description": "Required: resource to select",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "resource"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "secretKeyRef": {
                                                                                        "description": "Selects a key of a secret in the pod's namespace",
                                                                                        "properties": {
                                                                                            "key": {
                                                                                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the Secret or its key must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "key"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "hostAliases": {
                                                                    "description": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts\nfile if specified. This is only valid for non-hostNetwork pods.",
                                                                    "items": {
                                                                        "description": "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the\npod's hosts file.",
                                                                        "properties": {
                                                                            "hostnames": {
                                                                                "description": "Hostnames for the above IP address.",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "ip": {
                                                                                "description": "IP address of the host file entry.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "ip"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "hostNetwork": {
                                                                    "description": "HostNetwork specifies whether the pod may use the node network namespace",
                                                                    "type": "boolean"
                                                                },
                                                                "imagePullSecrets": {
                                                                    "description": "ImagePullSecrets gives the name of the secret used by the pod to pull the image if specified",
                                                                    "items": {
                                                                        "description": "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "default": "",
                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object",
                                                                        "x-kubernetes-map-type": "atomic"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "nodeSelector": {
                                                                    "additionalProperties": {
                                                                        "type": "string"
                                                                    },
                                                                    "description": "NodeSelector is a selector which must be true for the pod to fit on a node.\nSelector which must match a node's labels for the pod to be scheduled on that node.\nMore info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
                                                                    "type": "object"
                                                                },
                                                                "priorityClassName": {
                                                                    "description": "If specified, indicates the pod's priority. \"system-node-critical\" and\n\"system-cluster-critical\" are two special keywords which indicate the\nhighest priorities with the former being the highest priority. Any other\nname must be defined by creating a PriorityClass object with that name.\nIf not specified, the pod priority will be default or zero if there is no\ndefault.",
                                                                    "type": "string"
                                                                },
                                                                "runtimeClassName": {
                                                                    "description": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io\ngroup, which should be used to run this pod. If no RuntimeClass resource\nmatches the named class, the pod will not be run. If unset or empty, the\n\"legacy\" RuntimeClass will be used, which is an implicit class with an\nempty definition that uses the default runtime handler.\nMore info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md\nThis is a beta feature as of Kubernetes v1.14.",
                                                                    "type": "string"
                                                                },
                                                                "schedulerName": {
                                                                    "description": "SchedulerName specifies the scheduler to be used to dispatch the Pod",
                                                                    "type": "string"
                                                                },
                                                                "securityContext": {
                                                                    "description": "SecurityContext holds pod-level security attributes and common container settings.\nOptional: Defaults to empty.  See type description for default values of each field.\nSee Pod.spec.securityContext (API version: v1)",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                },
                                                                "tolerations": {
                                                                    "description": "If specified, the pod's tolerations.",
                                                                    "items": {
                                                                        "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.",
                                                                        "properties": {
                                                                            "effect": {
                                                                                "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.",
                                                                                "type": "string"
                                                                            },
                                                                            "key": {
                                                                                "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.",
                                                                                "type": "string"
                                                                            },
                                                                            "operator": {
                                                                                "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.",
                                                                                "type": "string"
                                                                            },
                                                                            "tolerationSeconds": {
                                                                                "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "value": {
                                                                                "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "topologySpreadConstraints": {
                                                                    "description": "TopologySpreadConstraints controls how Pods are spread across your cluster among\nfailure-domains such as regions, zones, nodes, and other user-defined topology domains.",
                                                                    "items": {
                                                                        "description": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.",
                                                                        "properties": {
                                                                            "labelSelector": {
                                                                                "description": "LabelSelector is used to find matching pods.\nPods that match this label selector are counted to determine the number of pods\nin their corresponding topology domain.",
                                                                                "properties": {
                                                                                    "matchExpressions": {
                                                                                        "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                        "items": {
                                                                                            "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "key is the label key that the selector applies to.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "operator": {
                                                                                                    "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "values": {
                                                                                                    "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                    "items": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key",
                                                                                                "operator"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "matchLabels": {
                                                                                        "additionalProperties": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "matchLabelKeys": {
                                                                                "description": "MatchLabelKeys is a set of pod label keys to select the pods over which\nspreading will be calculated. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are ANDed with labelSelector\nto select the group of existing pods over which spreading will be calculated\nfor the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nMatchLabelKeys cannot be set when LabelSelector isn't set.\nKeys that don't exist in the incoming pod labels will\nbe ignored. A null or empty list means only match against labelSelector.\n\nThis is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "maxSkew": {
                                                                                "description": "MaxSkew describes the degree to which pods may be unevenly distributed.\nWhen `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference\nbetween the number of matching pods in the target topology and the global minimum.\nThe global minimum is the minimum number of matching pods in an eligible domain\nor zero if the number of eligible domains is less than MinDomains.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 2/2/1:\nIn this case, the global minimum is 1.\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |   P   |\n- if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;\nscheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)\nviolate MaxSkew(1).\n- if MaxSkew is 2, incoming pod can be scheduled onto any zone.\nWhen `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence\nto topologies that satisfy it.\nIt's a required field. Default value is 1 and 0 is not allowed.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "minDomains": {
                                                                                "description": "MinDomains indicates a minimum number of eligible domains.\nWhen the number of eligible domains with matching topology keys is less than minDomains,\nPod Topology Spread treats \"global minimum\" as 0, and then the calculation of Skew is performed.\nAnd when the number of eligible domains with matching topology keys equals or greater than minDomains,\nthis value has no effect on scheduling.\nAs a result, when the number of eligible domains is less than minDomains,\nscheduler won't schedule more than maxSkew Pods to those domains.\nIf value is nil, the constraint behaves as if MinDomains is equal to 1.\nValid values are integers greater than 0.\nWhen value is not nil, WhenUnsatisfiable must be DoNotSchedule.\n\nFor example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same\nlabelSelector spread as 2/2/2:\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |  P P  |\nThe number of domains is less than 5(MinDomains), so \"global minimum\" is treated as 0.\nIn this situation, new pod with the same labelSelector cannot be scheduled,\nbecause computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,\nit will violate MaxSkew.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "nodeAffinityPolicy": {
                                                                                "description": "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector\nwhen calculating pod topology spread skew. Options are:\n- Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.\n- Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.\n\nIf this value is nil, the behavior is equivalent to the Honor policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                "type": "string"
                                                                            },
                                                                            "nodeTaintsPolicy": {
                                                                                "description": "NodeTaintsPolicy indicates how we will treat node taints when calculating\npod topology spread skew. Options are:\n- Honor: nodes without taints, along with tainted nodes for which the incoming pod\nhas a toleration, are included.\n- Ignore: node taints are ignored. All nodes are included.\n\nIf this value is nil, the behavior is equivalent to the Ignore policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                "type": "string"
                                                                            },
                                                                            "topologyKey": {
                                                                                "description": "TopologyKey is the key of node labels. Nodes that have a label with this key\nand identical values are considered to be in the same topology.\nWe consider each \u003ckey, value\u003e as a \"bucket\", and try to put balanced number\nof pods into each bucket.\nWe define a domain as a particular instance of a topology.\nAlso, we define an eligible domain as a domain whose nodes meet the requirements of\nnodeAffinityPolicy and nodeTaintsPolicy.\ne.g. If TopologyKey is \"kubernetes.io/hostname\", each Node is a domain of that topology.\nAnd, if TopologyKey is \"topology.kubernetes.io/zone\", each zone is a domain of that topology.\nIt's a required field.",
                                                                                "type": "string"
                                                                            },
                                                                            "whenUnsatisfiable": {
                                                                                "description": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy\nthe spread constraint.\n- DoNotSchedule (default) tells the scheduler not to schedule it.\n- ScheduleAnyway tells the scheduler to schedule the pod in any location,\n  but giving higher precedence to topologies that would help reduce the\n  skew.\nA constraint is considered \"Unsatisfiable\" for an incoming pod\nif and only if every possible node assignment for that pod would violate\n\"MaxSkew\" on some topology.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 3/1/1:\n| zone1 | zone2 | zone3 |\n| P P P |   P   |   P   |\nIf WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled\nto zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies\nMaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler\nwon't make it *more* imbalanced.\nIt's a required field.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "maxSkew",
                                                                            "topologyKey",
                                                                            "whenUnsatisfiable"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "volumes": {
                                                                    "description": "List of volumes that can be mounted by containers belonging to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes\nSee Pod.spec.volumes (API version: v1)",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "resources": {
                                                            "description": "Deprecated: Unused, preserved only for backwards compatibility",
                                                            "properties": {
                                                                "inputs": {
                                                                    "description": "Inputs holds the inputs resources this task was invoked with",
                                                                    "items": {
                                                                        "description": "TaskResourceBinding points to the PipelineResource that\nwill be used for the Task input or output called Name.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name is the name of the PipelineResource in the Pipeline's declaration",
                                                                                "type": "string"
                                                                            },
                                                                            "paths": {
                                                                                "description": "Paths will probably be removed in #1284, and then PipelineResourceBinding can be used instead.\nThe optional Path field corresponds to a path on disk at which the Resource can be found\n(used when providing the resource via mounted volume, overriding the default logic to fetch the Resource).",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resourceRef": {
                                                                                "description": "ResourceRef is a reference to the instance of the actual PipelineResource\nthat should be used",
                                                                                "properties": {
                                                                                    "apiVersion": {
                                                                                        "description": "API version of the referent",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "name": {
                                                                                        "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "resourceSpec": {
                                                                                "description": "ResourceSpec is specification of a resource that should be created and\nconsumed by the task",
                                                                                "properties": {
                                                                                    "description": {
                                                                                        "description": "Description is a user-facing description of the resource that may be\nused to populate a UI.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "params": {
                                                                                        "items": {
                                                                                            "description": "ResourceParam declares a string value to use for the parameter called Name, and is used in\nthe specific context of PipelineResources.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "secrets": {
                                                                                        "description": "Secrets to fetch to populate some of resource fields",
                                                                                        "items": {
                                                                                            "description": "SecretParam indicates which secret can be used to populate a field of the resource\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                            "properties": {
                                                                                                "fieldName": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "secretKey": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "secretName": {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "fieldName",
                                                                                                "secretKey",
                                                                                                "secretName"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "PipelineResourceType represents the type of endpoint the pipelineResource is, so that the\ncontroller will know this pipelineResource shouldx be fetched and optionally what\nadditional metatdata should be provided for it.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "params",
                                                                                    "type"
                                                                                ],
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "outputs": {
                                                                    "description": "Outputs holds the inputs resources this task was invoked with",
                                                                    "items": {
                                                                        "description": "TaskResourceBinding points to the PipelineResource that\nwill be used for the Task input or output called Name.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name is the name of the PipelineResource in the Pipeline's declaration",
                                                                                "type": "string"
                                                                            },
                                                                            "paths": {
                                                                                "description": "Paths will probably be removed in #1284, and then PipelineResourceBinding can be used instead.\nThe optional Path field corresponds to a path on disk at which the Resource can be found\n(used when providing the resource via mounted volume, overriding the default logic to fetch the Resource).",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "resourceRef": {
                                                                                "description": "ResourceRef is a reference to the instance of the actual PipelineResource\nthat should be used",
                                                                                "properties": {
                                                                                    "apiVersion": {
                                                                                        "description": "API version of the referent",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "name": {
                                                                                        "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "resourceSpec": {
                                                                                "description": "ResourceSpec is specification of a resource that should be created and\nconsumed by the task",
                                                                                "properties": {
                                                                                    "description": {
                                                                                        "description": "Description is a user-facing description of the resource that may be\nused to populate a UI.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "params": {
                                                                                        "items": {
                                                                                            "description": "ResourceParam declares a string value to use for the parameter called Name, and is used in\nthe specific context of PipelineResources.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "secrets": {
                                                                                        "description": "Secrets to fetch to populate some of resource fields",
                                                                                        "items": {
                                                                                            "description": "SecretParam indicates which secret can be used to populate a field of the resource\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                            "properties": {
                                                                                                "fieldName": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "secretKey": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "secretName": {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "fieldName",
                                                                                                "secretKey",
                                                                                                "secretName"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "type": {
                                                                                        "description": "PipelineResourceType represents the type of endpoint the pipelineResource is, so that the\ncontroller will know this pipelineResource shouldx be fetched and optionally what\nadditional metatdata should be provided for it.\n\nDeprecated: Unused, preserved only for backwards compatibility",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "params",
                                                                                    "type"
                                                                                ],
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "retries": {
                                                            "description": "Retries represents how many times this TaskRun should be retried in the event of Task failure.",
                                                            "type": "integer"
                                                        },
                                                        "serviceAccountName": {
                                                            "type": "string"
                                                        },
                                                        "sidecarOverrides": {
                                                            "description": "Overrides to apply to Sidecars in this TaskRun.\nIf a field is specified in both a Sidecar and a SidecarOverride,\nthe value from the SidecarOverride will be used.\nThis field is only supported when the alpha feature gate is enabled.",
                                                            "items": {
                                                                "description": "TaskRunSidecarOverride is used to override the values of a Sidecar in the corresponding Task.",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "The name of the Sidecar to override.",
                                                                        "type": "string"
                                                                    },
                                                                    "resources": {
                                                                        "description": "The resource requirements to apply to the Sidecar.",
                                                                        "properties": {
                                                                            "claims": {
                                                                                "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                "items": {
                                                                                    "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "request": {
                                                                                            "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "name"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "limits": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            },
                                                                            "requests": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "resources"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "status": {
                                                            "description": "Used for cancelling a TaskRun (and maybe more later on)",
                                                            "type": "string"
                                                        },
                                                        "statusMessage": {
                                                            "description": "Status message for cancellation.",
                                                            "type": "string"
                                                        },
                                                        "stepOverrides": {
                                                            "description": "Overrides to apply to Steps in this TaskRun.\nIf a field is specified in both a Step and a StepOverride,\nthe value from the StepOverride will be used.\nThis field is only supported when the alpha feature gate is enabled.",
                                                            "items": {
                                                                "description": "TaskRunStepOverride is used to override the values of a Step in the corresponding Task.",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "The name of the Step to override.",
                                                                        "type": "string"
                                                                    },
                                                                    "resources": {
                                                                        "description": "The resource requirements to apply to the Step.",
                                                                        "properties": {
                                                                            "claims": {
                                                                                "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                "items": {
                                                                                    "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "request": {
                                                                                            "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "name"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "limits": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            },
                                                                            "requests": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "resources"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "taskRef": {
                                                            "description": "no more than one of the TaskRef and TaskSpec may be specified.",
                                                            "properties": {
                                                                "apiVersion": {
                                                                    "description": "API version of the referent\nNote: A Task with non-empty APIVersion and Kind is considered a Custom Task",
                                                                    "type": "string"
                                                                },
                                                                "bundle": {
                                                                    "description": "Bundle url reference to a Tekton Bundle.\n\nDeprecated: Please use ResolverRef with the bundles resolver instead.\nThe field is staying there for go client backward compatibility, but is not used/allowed anymore.",
                                                                    "type": "string"
                                                                },
                                                                "kind": {
                                                                    "description": "TaskKind indicates the Kind of the Task:\n1. Namespaced Task when Kind is set to \"Task\". If Kind is \"\", it defaults to \"Task\".\n2. Custom Task when Kind is non-empty and APIVersion is non-empty",
                                                                    "type": "string"
                                                                },
                                                                "name": {
                                                                    "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                    "type": "string"
                                                                },
                                                                "params": {
                                                                    "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                    "items": {
                                                                        "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name",
                                                                            "value"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "resolver": {
                                                                    "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "taskSpec": {
                                                            "description": "Specifying TaskSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Task.spec (API version: tekton.dev/v1beta1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "timeout": {
                                                            "description": "Time after which one retry attempt times out. Defaults to 1 hour.\nRefer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration",
                                                            "type": "string"
                                                        },
                                                        "workspaces": {
                                                            "description": "Workspaces is a list of WorkspaceBindings from volumes to workspaces.",
                                                            "items": {
                                                                "description": "WorkspaceBinding maps a Task's declared workspace to a Volume.",
                                                                "properties": {
                                                                    "configMap": {
                                                                        "description": "ConfigMap represents a configMap that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode is optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDefaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "items": {
                                                                                "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                "items": {
                                                                                    "description": "Maps a string key to a path within a volume.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "description": "key is the key to project.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mode": {
                                                                                            "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "path"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "name": {
                                                                                "default": "",
                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                "type": "string"
                                                                            },
                                                                            "optional": {
                                                                                "description": "optional specify whether the ConfigMap or its keys must be defined",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "type": "object",
                                                                        "x-kubernetes-map-type": "atomic"
                                                                    },
                                                                    "csi": {
                                                                        "description": "CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.",
                                                                        "properties": {
                                                                            "driver": {
                                                                                "description": "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster.",
                                                                                "type": "string"
                                                                            },
                                                                            "fsType": {
                                                                                "description": "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply.",
                                                                                "type": "string"
                                                                            },
                                                                            "nodePublishSecretRef": {
                                                                                "description": "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and  may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write).",
                                                                                "type": "boolean"
                                                                            },
                                                                            "volumeAttributes": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "description": "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values.",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "driver"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "emptyDir": {
                                                                        "description": "EmptyDir represents a temporary directory that shares a Task's lifetime.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir\nEither this OR PersistentVolumeClaim can be used.",
                                                                        "properties": {
                                                                            "medium": {
                                                                                "description": "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
                                                                                "type": "string"
                                                                            },
                                                                            "sizeLimit": {
                                                                                "anyOf": [
                                                                                    {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ],
                                                                                "description": "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                "x-kubernetes-int-or-string": true
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of the workspace populated by the volume.",
                                                                        "type": "string"
                                                                    },
                                                                    "persistentVolumeClaim": {
                                                                        "description": "PersistentVolumeClaimVolumeSource represents a reference to a\nPersistentVolumeClaim in the same namespace. Either this OR EmptyDir can be used.",
                                                                        "properties": {
                                                                            "claimName": {
                                                                                "description": "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false.",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "claimName"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "projected": {
                                                                        "description": "Projected represents a projected volume that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode are the mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "sources": {
                                                                                "description": "sources is the list of volume projections. Each entry in this list\nhandles one source.",
                                                                                "items": {
                                                                                    "description": "Projection that may be projected along with other supported volume types.\nExactly one of these fields must be set.",
                                                                                    "properties": {
                                                                                        "clusterTrustBundle": {
                                                                                            "description": "ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field\nof ClusterTrustBundle objects in an auto-updating file.\n\nAlpha, gated by the ClusterTrustBundleProjection feature gate.\n\nClusterTrustBundle objects can either be selected by name, or by the\ncombination of signer name and a label selector.\n\nKubelet performs aggressive normalization of the PEM contents written\ninto the pod filesystem.  Esoteric PEM features such as inter-block\ncomments and block headers are stripped.  Certificates are deduplicated.\nThe ordering of certificates within the file is arbitrary, and Kubelet\nmay change the order over time.",
                                                                                            "properties": {
                                                                                                "labelSelector": {
                                                                                                    "description": "Select all ClusterTrustBundles that match this label selector.  Only has\neffect if signerName is set.  Mutually-exclusive with name.  If unset,\ninterpreted as \"match nothing\".  If set but empty, interpreted as \"match\neverything\".",
                                                                                                    "properties": {
                                                                                                        "matchExpressions": {
                                                                                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                                            "items": {
                                                                                                                "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                                                "properties": {
                                                                                                                    "key": {
                                                                                                                        "description": "key is the label key that the selector applies to.",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "operator": {
                                                                                                                        "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "values": {
                                                                                                                        "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                                        "items": {
                                                                                                                            "type": "string"
                                                                                                                        },
                                                                                                                        "type": "array",
                                                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "key",
                                                                                                                    "operator"
                                                                                                                ],
                                                                                                                "type": "object"
                                                                                                            },
                                                                                                            "type": "array",
                                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                                        },
                                                                                                        "matchLabels": {
                                                                                                            "additionalProperties": {
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                                            "type": "object"
                                                                                                        }
                                                                                                    },
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "description": "Select a single ClusterTrustBundle by object name.  Mutually-exclusive\nwith signerName and labelSelector.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "If true, don't block pod startup if the referenced ClusterTrustBundle(s)\naren't available.  If using name, then the named ClusterTrustBundle is\nallowed not to exist.  If using signerName, then the combination of\nsignerName and labelSelector is allowed to match zero\nClusterTrustBundles.",
                                                                                                    "type": "boolean"
                                                                                                },
                                                                                                "path": {
                                                                                                    "description": "Relative path from the volume root to write the bundle.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "signerName": {
                                                                                                    "description": "Select all ClusterTrustBundles that match this signer name.\nMutually-exclusive with name.  The contents of all selected\nClusterTrustBundles will be unified and deduplicated.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "path"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "configMap": {
                                                                                            "description": "configMap information about the configMap data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                                    "items": {
                                                                                                        "description": "Maps a string key to a path within a volume.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the key to project.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "optional specify whether the ConfigMap or its keys must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "downwardAPI": {
                                                                                            "description": "downwardAPI information about the downwardAPI data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "Items is a list of DownwardAPIVolume file",
                                                                                                    "items": {
                                                                                                        "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field",
                                                                                                        "properties": {
                                                                                                            "fieldRef": {
                                                                                                                "description": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.",
                                                                                                                "properties": {
                                                                                                                    "apiVersion": {
                                                                                                                        "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "fieldPath": {
                                                                                                                        "description": "Path of the field to select in the specified API version.",
                                                                                                                        "type": "string"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "fieldPath"
                                                                                                                ],
                                                                                                                "type": "object",
                                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "Required: Path is  the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "resourceFieldRef": {
                                                                                                                "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.",
                                                                                                                "properties": {
                                                                                                                    "containerName": {
                                                                                                                        "description": "Container name: required for volumes, optional for env vars",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "divisor": {
                                                                                                                        "anyOf": [
                                                                                                                            {
                                                                                                                                "type": "integer"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "type": "string"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                                    },
                                                                                                                    "resource": {
                                                                                                                        "description": "Required: resource to select",
                                                                                                                        "type": "string"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "resource"
                                                                                                                ],
                                                                                                                "type": "object",
                                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "secret": {
                                                                                            "description": "secret information about the secret data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                                    "items": {
                                                                                                        "description": "Maps a string key to a path within a volume.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the key to project.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "optional field specify whether the Secret or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "serviceAccountToken": {
                                                                                            "description": "serviceAccountToken is information about the serviceAccountToken data to project",
                                                                                            "properties": {
                                                                                                "audience": {
                                                                                                    "description": "audience is the intended audience of the token. A recipient of a token\nmust identify itself with an identifier specified in the audience of the\ntoken, and otherwise should reject the token. The audience defaults to the\nidentifier of the apiserver.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "expirationSeconds": {
                                                                                                    "description": "expirationSeconds is the requested duration of validity of the service\naccount token. As the token approaches expiration, the kubelet volume\nplugin will proactively rotate the service account token. The kubelet will\nstart trying to rotate the token if the token is older than 80 percent of\nits time to live or if the token is older than 24 hours.Defaults to 1 hour\nand must be at least 10 minutes.",
                                                                                                    "format": "int64",
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                "path": {
                                                                                                    "description": "path is the path relative to the mount point of the file to project the\ntoken into.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "path"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "secret": {
                                                                        "description": "Secret represents a secret that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode is Optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values\nfor mode bits. Defaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "items": {
                                                                                "description": "items If unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                "items": {
                                                                                    "description": "Maps a string key to a path within a volume.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "description": "key is the key to project.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mode": {
                                                                                            "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "path"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "optional": {
                                                                                "description": "optional field specify whether the Secret or its keys must be defined",
                                                                                "type": "boolean"
                                                                            },
                                                                            "secretName": {
                                                                                "description": "secretName is the name of the secret in the pod's namespace to use.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "subPath": {
                                                                        "description": "SubPath is optionally a directory on the volume which should be used\nfor this binding (i.e. the volume will be mounted at this sub directory).",
                                                                        "type": "string"
                                                                    },
                                                                    "volumeClaimTemplate": {
                                                                        "description": "VolumeClaimTemplate is a template for a claim that will be created in the same namespace.\nThe PipelineRun controller is responsible for creating a unique claim for each instance of PipelineRun.\nSee PersistentVolumeClaim (API version: v1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "status": {
                                                    "description": "TaskRunStatus defines the observed state of TaskRun",
                                                    "properties": {
                                                        "annotations": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
                                                            "type": "object"
                                                        },
                                                        "cloudEvents": {
                                                            "description": "CloudEvents describe the state of each cloud event requested via a\nCloudEventResource.\n\nDeprecated: Removed in v0.44.0.",
                                                            "items": {
                                                                "description": "CloudEventDelivery is the target of a cloud event along with the state of\ndelivery.",
                                                                "properties": {
                                                                    "status": {
                                                                        "description": "CloudEventDeliveryState reports the state of a cloud event to be sent.",
                                                                        "properties": {
                                                                            "condition": {
                                                                                "description": "Current status",
                                                                                "type": "string"
                                                                            },
                                                                            "message": {
                                                                                "description": "Error is the text of error (if any)",
                                                                                "type": "string"
                                                                            },
                                                                            "retryCount": {
                                                                                "description": "RetryCount is the number of attempts of sending the cloud event",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "sentAt": {
                                                                                "description": "SentAt is the time at which the last attempt to send the event was made",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "message",
                                                                            "retryCount"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "target": {
                                                                        "description": "Target points to an addressable",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "completionTime": {
                                                            "description": "CompletionTime is the time the build completed.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "conditions": {
                                                            "description": "Conditions the latest available observations of a resource's current state.",
                                                            "items": {
                                                                "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
                                                                "properties": {
                                                                    "lastTransitionTime": {
                                                                        "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                                                                        "type": "string"
                                                                    },
                                                                    "message": {
                                                                        "description": "A human readable message indicating details about the transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "reason": {
                                                                        "description": "The reason for the condition's last transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "severity": {
                                                                        "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                                                                        "type": "string"
                                                                    },
                                                                    "status": {
                                                                        "description": "Status of the condition, one of True, False, Unknown.",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type of condition.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "status",
                                                                    "type"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "observedGeneration": {
                                                            "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
                                                            "format": "int64",
                                                            "type": "integer"
                                                        },
                                                        "podName": {
                                                            "description": "PodName is the name of the pod responsible for executing this task's steps.",
                                                            "type": "string"
                                                        },
                                                        "provenance": {
                                                            "description": "Provenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).",
                                                            "properties": {
                                                                "configSource": {
                                                                    "description": "Deprecated: Use RefSource instead",
                                                                    "properties": {
                                                                        "digest": {
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                            "type": "object"
                                                                        },
                                                                        "entryPoint": {
                                                                            "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                            "type": "string"
                                                                        },
                                                                        "uri": {
                                                                            "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "featureFlags": {
                                                                    "description": "FeatureFlags identifies the feature flags that were used during the task/pipeline run",
                                                                    "properties": {
                                                                        "awaitSidecarReadiness": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "coschedule": {
                                                                            "type": "string"
                                                                        },
                                                                        "disableCredsInit": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "disableInlineSpec": {
                                                                            "type": "string"
                                                                        },
                                                                        "enableAPIFields": {
                                                                            "type": "string"
                                                                        },
                                                                        "enableArtifacts": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableCELInWhenExpression": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableConciseResolverSyntax": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableKeepPodOnCancel": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableKubernetesSidecar": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableParamEnum": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableProvenanceInStatus": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableStepActions": {
                                                                            "description": "EnableStepActions is a no-op flag since StepActions are stable",
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableWaitExponentialBackoff": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enforceNonfalsifiability": {
                                                                            "type": "string"
                                                                        },
                                                                        "maxResultSize": {
                                                                            "type": "integer"
                                                                        },
                                                                        "requireGitSSHSecretKnownHosts": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "resultExtractionMethod": {
                                                                            "type": "string"
                                                                        },
                                                                        "runningInEnvWithInjectedSidecars": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "sendCloudEventsForRuns": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "setSecurityContext": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "setSecurityContextReadOnlyRootFilesystem": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "verificationNoMatchPolicy": {
                                                                            "description": "VerificationNoMatchPolicy is the feature flag for \"trusted-resources-verification-no-match-policy\"\nVerificationNoMatchPolicy can be set to \"ignore\", \"warn\" and \"fail\" values.\nignore: skip trusted resources verification when no matching verification policies found\nwarn: skip trusted resources verification when no matching verification policies found and log a warning\nfail: fail the taskrun or pipelines run if no matching verification policies found",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "refSource": {
                                                                    "description": "RefSource identifies the source where a remote task/pipeline came from.",
                                                                    "properties": {
                                                                        "digest": {
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                            "type": "object"
                                                                        },
                                                                        "entryPoint": {
                                                                            "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                            "type": "string"
                                                                        },
                                                                        "uri": {
                                                                            "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "resourcesResult": {
                                                            "description": "Results from Resources built during the TaskRun.\nThis is tomb-stoned along with the removal of pipelineResources\nDeprecated: this field is not populated and is preserved only for backwards compatibility",
                                                            "items": {
                                                                "description": "RunResult is used to write key/value pairs to TaskRun pod termination messages.\nThe key/value pairs may come from the entrypoint binary, or represent a TaskRunResult.\nIf they represent a TaskRunResult, the key is the name of the result and the value is the\nJSON-serialized value of the result.",
                                                                "properties": {
                                                                    "key": {
                                                                        "type": "string"
                                                                    },
                                                                    "resourceName": {
                                                                        "description": "ResourceName may be used in tests, but it is not populated in termination messages.\nIt is preserved here for backwards compatibility and will not be ported to v1.",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "ResultType used to find out whether a RunResult is from a task result or not\nNote that ResultsType is another type which is used to define the data type\n(e.g. string, array, etc) we used for Results",
                                                                        "type": "integer"
                                                                    },
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "key",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "retriesStatus": {
                                                            "description": "RetriesStatus contains the history of TaskRunStatus in case of a retry in order to keep record of failures.\nAll TaskRunStatus stored in RetriesStatus will have no date within the RetriesStatus as is redundant.\nSee TaskRun.status (API version: tekton.dev/v1beta1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "sidecars": {
                                                            "description": "The list has one entry per sidecar in the manifest. Each entry is\nrepresents the imageid of the corresponding sidecar.",
                                                            "items": {
                                                                "description": "SidecarState reports the results of running a sidecar in a Task.",
                                                                "properties": {
                                                                    "container": {
                                                                        "type": "string"
                                                                    },
                                                                    "imageID": {
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "running": {
                                                                        "description": "Details about a running container",
                                                                        "properties": {
                                                                            "startedAt": {
                                                                                "description": "Time at which the container was last (re-)started",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "terminated": {
                                                                        "description": "Details about a terminated container",
                                                                        "properties": {
                                                                            "containerID": {
                                                                                "description": "Container's ID in the format '\u003ctype\u003e://\u003ccontainer_id\u003e'",
                                                                                "type": "string"
                                                                            },
                                                                            "exitCode": {
                                                                                "description": "Exit status from the last termination of the container",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "finishedAt": {
                                                                                "description": "Time at which the container last terminated",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            },
                                                                            "message": {
                                                                                "description": "Message regarding the last termination of the container",
                                                                                "type": "string"
                                                                            },
                                                                            "reason": {
                                                                                "description": "(brief) reason from the last termination of the container",
                                                                                "type": "string"
                                                                            },
                                                                            "signal": {
                                                                                "description": "Signal from the last termination of the container",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "startedAt": {
                                                                                "description": "Time at which previous execution of the container started",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "exitCode"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "waiting": {
                                                                        "description": "Details about a waiting container",
                                                                        "properties": {
                                                                            "message": {
                                                                                "description": "Message regarding why the container is not yet running.",
                                                                                "type": "string"
                                                                            },
                                                                            "reason": {
                                                                                "description": "(brief) reason the container is not yet running.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "spanContext": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "SpanContext contains tracing span context fields",
                                                            "type": "object"
                                                        },
                                                        "startTime": {
                                                            "description": "StartTime is the time the build is actually started.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "steps": {
                                                            "description": "Steps describes the state of each build step container.",
                                                            "items": {
                                                                "description": "StepState reports the results of running a step in a Task.",
                                                                "properties": {
                                                                    "container": {
                                                                        "type": "string"
                                                                    },
                                                                    "imageID": {
                                                                        "type": "string"
                                                                    },
                                                                    "inputs": {
                                                                        "items": {
                                                                            "description": "Artifact represents an artifact within a system, potentially containing multiple values\nassociated with it.",
                                                                            "properties": {
                                                                                "buildOutput": {
                                                                                    "description": "Indicate if the artifact is a build output or a by-product",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "name": {
                                                                                    "description": "The artifact's identifying category name",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "A collection of values related to the artifact",
                                                                                    "items": {
                                                                                        "description": "ArtifactValue represents a specific value or data element within an Artifact.",
                                                                                        "properties": {
                                                                                            "digest": {
                                                                                                "additionalProperties": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "object"
                                                                                            },
                                                                                            "uri": {
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "type": "array"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "outputs": {
                                                                        "items": {
                                                                            "description": "Artifact represents an artifact within a system, potentially containing multiple values\nassociated with it.",
                                                                            "properties": {
                                                                                "buildOutput": {
                                                                                    "description": "Indicate if the artifact is a build output or a by-product",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "name": {
                                                                                    "description": "The artifact's identifying category name",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "A collection of values related to the artifact",
                                                                                    "items": {
                                                                                        "description": "ArtifactValue represents a specific value or data element within an Artifact.",
                                                                                        "properties": {
                                                                                            "digest": {
                                                                                                "additionalProperties": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "object"
                                                                                            },
                                                                                            "uri": {
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "type": "array"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "provenance": {
                                                                        "description": "Provenance contains metadata about resources used in the TaskRun/PipelineRun\nsuch as the source from where a remote build definition was fetched.\nThis field aims to carry minimum amoumt of metadata in *Run status so that\nTekton Chains can capture them in the provenance.",
                                                                        "properties": {
                                                                            "configSource": {
                                                                                "description": "Deprecated: Use RefSource instead",
                                                                                "properties": {
                                                                                    "digest": {
                                                                                        "additionalProperties": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                                        "type": "object"
                                                                                    },
                                                                                    "entryPoint": {
                                                                                        "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "uri": {
                                                                                        "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "featureFlags": {
                                                                                "description": "FeatureFlags identifies the feature flags that were used during the task/pipeline run",
                                                                                "properties": {
                                                                                    "awaitSidecarReadiness": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "coschedule": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "disableCredsInit": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "disableInlineSpec": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "enableAPIFields": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "enableArtifacts": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableCELInWhenExpression": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableConciseResolverSyntax": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableKeepPodOnCancel": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableKubernetesSidecar": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableParamEnum": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableProvenanceInStatus": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableStepActions": {
                                                                                        "description": "EnableStepActions is a no-op flag since StepActions are stable",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableWaitExponentialBackoff": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enforceNonfalsifiability": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "maxResultSize": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "requireGitSSHSecretKnownHosts": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "resultExtractionMethod": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "runningInEnvWithInjectedSidecars": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "sendCloudEventsForRuns": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "setSecurityContext": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "setSecurityContextReadOnlyRootFilesystem": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "verificationNoMatchPolicy": {
                                                                                        "description": "VerificationNoMatchPolicy is the feature flag for \"trusted-resources-verification-no-match-policy\"\nVerificationNoMatchPolicy can be set to \"ignore\", \"warn\" and \"fail\" values.\nignore: skip trusted resources verification when no matching verification policies found\nwarn: skip trusted resources verification when no matching verification policies found and log a warning\nfail: fail the taskrun or pipelines run if no matching verification policies found",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "refSource": {
                                                                                "description": "RefSource identifies the source where a remote task/pipeline came from.",
                                                                                "properties": {
                                                                                    "digest": {
                                                                                        "additionalProperties": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                                        "type": "object"
                                                                                    },
                                                                                    "entryPoint": {
                                                                                        "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "uri": {
                                                                                        "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "results": {
                                                                        "items": {
                                                                            "description": "TaskRunResult used to describe the results of a task",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "Name the given name",
                                                                                    "type": "string"
                                                                                },
                                                                                "type": {
                                                                                    "description": "Type is the user-specified type of the result. The possible type\nis currently \"string\" and will support \"array\" in following work.",
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "description": "Value the given value of the result",
                                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name",
                                                                                "value"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "running": {
                                                                        "description": "Details about a running container",
                                                                        "properties": {
                                                                            "startedAt": {
                                                                                "description": "Time at which the container was last (re-)started",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "terminated": {
                                                                        "description": "Details about a terminated container",
                                                                        "properties": {
                                                                            "containerID": {
                                                                                "description": "Container's ID in the format '\u003ctype\u003e://\u003ccontainer_id\u003e'",
                                                                                "type": "string"
                                                                            },
                                                                            "exitCode": {
                                                                                "description": "Exit status from the last termination of the container",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "finishedAt": {
                                                                                "description": "Time at which the container last terminated",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            },
                                                                            "message": {
                                                                                "description": "Message regarding the last termination of the container",
                                                                                "type": "string"
                                                                            },
                                                                            "reason": {
                                                                                "description": "(brief) reason from the last termination of the container",
                                                                                "type": "string"
                                                                            },
                                                                            "signal": {
                                                                                "description": "Signal from the last termination of the container",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "startedAt": {
                                                                                "description": "Time at which previous execution of the container started",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "exitCode"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "waiting": {
                                                                        "description": "Details about a waiting container",
                                                                        "properties": {
                                                                            "message": {
                                                                                "description": "Message regarding why the container is not yet running.",
                                                                                "type": "string"
                                                                            },
                                                                            "reason": {
                                                                                "description": "(brief) reason the container is not yet running.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "taskResults": {
                                                            "description": "TaskRunResults are the list of results written out by the task's containers",
                                                            "items": {
                                                                "description": "TaskRunResult used to describe the results of a task",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name the given name",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the result. The possible type\nis currently \"string\" and will support \"array\" in following work.",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Value the given value of the result",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "taskSpec": {
                                                            "description": "TaskSpec contains the Spec from the dereferenced Task definition used to instantiate this TaskRun.\nSee Task.spec (API version tekton.dev/v1beta1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        }
                                                    },
                                                    "required": [
                                                        "podName"
                                                    ],
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "additionalPrinterColumns": [
                                        {
                                            "jsonPath": ".status.conditions[?(@.type==\"Succeeded\")].status",
                                            "name": "Succeeded",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type==\"Succeeded\")].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.startTime",
                                            "name": "StartTime",
                                            "type": "date"
                                        },
                                        {
                                            "jsonPath": ".status.completionTime",
                                            "name": "CompletionTime",
                                            "type": "date"
                                        }
                                    ],
                                    "name": "v1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "TaskRun represents a single execution of a Task. TaskRuns are how the steps\nspecified in a Task are executed; they specify the parameters and resources\nused to run the steps in a Task.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "TaskRunSpec defines the desired state of TaskRun",
                                                    "properties": {
                                                        "computeResources": {
                                                            "description": "Compute resources to use for this TaskRun",
                                                            "properties": {
                                                                "claims": {
                                                                    "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                    "items": {
                                                                        "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                "type": "string"
                                                                            },
                                                                            "request": {
                                                                                "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-map-keys": [
                                                                        "name"
                                                                    ],
                                                                    "x-kubernetes-list-type": "map"
                                                                },
                                                                "limits": {
                                                                    "additionalProperties": {
                                                                        "anyOf": [
                                                                            {
                                                                                "type": "integer"
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ],
                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                        "x-kubernetes-int-or-string": true
                                                                    },
                                                                    "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                    "type": "object"
                                                                },
                                                                "requests": {
                                                                    "additionalProperties": {
                                                                        "anyOf": [
                                                                            {
                                                                                "type": "integer"
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ],
                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                        "x-kubernetes-int-or-string": true
                                                                    },
                                                                    "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "debug": {
                                                            "description": "TaskRunDebug defines the breakpoint config for a particular TaskRun",
                                                            "properties": {
                                                                "breakpoints": {
                                                                    "description": "TaskBreakpoints defines the breakpoint config for a particular Task",
                                                                    "properties": {
                                                                        "beforeSteps": {
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "onFailure": {
                                                                            "description": "if enabled, pause TaskRun on failure of a step\nfailed step will not exit",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "params": {
                                                            "description": "Params is a list of Param",
                                                            "items": {
                                                                "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                "properties": {
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "podTemplate": {
                                                            "description": "PodTemplate holds pod specific configuration",
                                                            "properties": {
                                                                "affinity": {
                                                                    "description": "If specified, the pod's scheduling constraints.\nSee Pod.spec.affinity (API version: v1)",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                },
                                                                "automountServiceAccountToken": {
                                                                    "description": "AutomountServiceAccountToken indicates whether pods running as this\nservice account should have an API token automatically mounted.",
                                                                    "type": "boolean"
                                                                },
                                                                "dnsConfig": {
                                                                    "description": "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy.",
                                                                    "properties": {
                                                                        "nameservers": {
                                                                            "description": "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed.",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "options": {
                                                                            "description": "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy.",
                                                                            "items": {
                                                                                "description": "PodDNSConfigOption defines DNS resolver options of a pod.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "description": "Name is this DNS resolver option's name.\nRequired.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "value": {
                                                                                        "description": "Value is this DNS resolver option's value.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "searches": {
                                                                            "description": "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed.",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "dnsPolicy": {
                                                                    "description": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are\n'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig\nwill be merged with the policy selected with DNSPolicy.",
                                                                    "type": "string"
                                                                },
                                                                "enableServiceLinks": {
                                                                    "description": "EnableServiceLinks indicates whether information about services should be injected into pod's\nenvironment variables, matching the syntax of Docker links.\nOptional: Defaults to true.",
                                                                    "type": "boolean"
                                                                },
                                                                "env": {
                                                                    "description": "List of environment variables that can be provided to the containers belonging to the pod.",
                                                                    "items": {
                                                                        "description": "EnvVar represents an environment variable present in a Container.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                "type": "string"
                                                                            },
                                                                            "valueFrom": {
                                                                                "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                "properties": {
                                                                                    "configMapKeyRef": {
                                                                                        "description": "Selects a key of a ConfigMap.",
                                                                                        "properties": {
                                                                                            "key": {
                                                                                                "description": "The key to select.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "key"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "fieldRef": {
                                                                                        "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                        "properties": {
                                                                                            "apiVersion": {
                                                                                                "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "fieldPath": {
                                                                                                "description": "Path of the field to select in the specified API version.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "fieldPath"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "resourceFieldRef": {
                                                                                        "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                        "properties": {
                                                                                            "containerName": {
                                                                                                "description": "Container name: required for volumes, optional for env vars",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "divisor": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "resource": {
                                                                                                "description": "Required: resource to select",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "resource"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "secretKeyRef": {
                                                                                        "description": "Selects a key of a secret in the pod's namespace",
                                                                                        "properties": {
                                                                                            "key": {
                                                                                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the Secret or its key must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "key"
                                                                                        ],
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "hostAliases": {
                                                                    "description": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts\nfile if specified. This is only valid for non-hostNetwork pods.",
                                                                    "items": {
                                                                        "description": "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the\npod's hosts file.",
                                                                        "properties": {
                                                                            "hostnames": {
                                                                                "description": "Hostnames for the above IP address.",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "ip": {
                                                                                "description": "IP address of the host file entry.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "ip"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "hostNetwork": {
                                                                    "description": "HostNetwork specifies whether the pod may use the node network namespace",
                                                                    "type": "boolean"
                                                                },
                                                                "imagePullSecrets": {
                                                                    "description": "ImagePullSecrets gives the name of the secret used by the pod to pull the image if specified",
                                                                    "items": {
                                                                        "description": "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "default": "",
                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object",
                                                                        "x-kubernetes-map-type": "atomic"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "nodeSelector": {
                                                                    "additionalProperties": {
                                                                        "type": "string"
                                                                    },
                                                                    "description": "NodeSelector is a selector which must be true for the pod to fit on a node.\nSelector which must match a node's labels for the pod to be scheduled on that node.\nMore info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
                                                                    "type": "object"
                                                                },
                                                                "priorityClassName": {
                                                                    "description": "If specified, indicates the pod's priority. \"system-node-critical\" and\n\"system-cluster-critical\" are two special keywords which indicate the\nhighest priorities with the former being the highest priority. Any other\nname must be defined by creating a PriorityClass object with that name.\nIf not specified, the pod priority will be default or zero if there is no\ndefault.",
                                                                    "type": "string"
                                                                },
                                                                "runtimeClassName": {
                                                                    "description": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io\ngroup, which should be used to run this pod. If no RuntimeClass resource\nmatches the named class, the pod will not be run. If unset or empty, the\n\"legacy\" RuntimeClass will be used, which is an implicit class with an\nempty definition that uses the default runtime handler.\nMore info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md\nThis is a beta feature as of Kubernetes v1.14.",
                                                                    "type": "string"
                                                                },
                                                                "schedulerName": {
                                                                    "description": "SchedulerName specifies the scheduler to be used to dispatch the Pod",
                                                                    "type": "string"
                                                                },
                                                                "securityContext": {
                                                                    "description": "SecurityContext holds pod-level security attributes and common container settings.\nOptional: Defaults to empty.  See type description for default values of each field.\nSee Pod.spec.securityContext (API version: v1)",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                },
                                                                "tolerations": {
                                                                    "description": "If specified, the pod's tolerations.",
                                                                    "items": {
                                                                        "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.",
                                                                        "properties": {
                                                                            "effect": {
                                                                                "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.",
                                                                                "type": "string"
                                                                            },
                                                                            "key": {
                                                                                "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.",
                                                                                "type": "string"
                                                                            },
                                                                            "operator": {
                                                                                "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.",
                                                                                "type": "string"
                                                                            },
                                                                            "tolerationSeconds": {
                                                                                "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.",
                                                                                "format": "int64",
                                                                                "type": "integer"
                                                                            },
                                                                            "value": {
                                                                                "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "topologySpreadConstraints": {
                                                                    "description": "TopologySpreadConstraints controls how Pods are spread across your cluster among\nfailure-domains such as regions, zones, nodes, and other user-defined topology domains.",
                                                                    "items": {
                                                                        "description": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.",
                                                                        "properties": {
                                                                            "labelSelector": {
                                                                                "description": "LabelSelector is used to find matching pods.\nPods that match this label selector are counted to determine the number of pods\nin their corresponding topology domain.",
                                                                                "properties": {
                                                                                    "matchExpressions": {
                                                                                        "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                        "items": {
                                                                                            "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                            "properties": {
                                                                                                "key": {
                                                                                                    "description": "key is the label key that the selector applies to.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "operator": {
                                                                                                    "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "values": {
                                                                                                    "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                    "items": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "key",
                                                                                                "operator"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "matchLabels": {
                                                                                        "additionalProperties": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "matchLabelKeys": {
                                                                                "description": "MatchLabelKeys is a set of pod label keys to select the pods over which\nspreading will be calculated. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are ANDed with labelSelector\nto select the group of existing pods over which spreading will be calculated\nfor the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nMatchLabelKeys cannot be set when LabelSelector isn't set.\nKeys that don't exist in the incoming pod labels will\nbe ignored. A null or empty list means only match against labelSelector.\n\nThis is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "maxSkew": {
                                                                                "description": "MaxSkew describes the degree to which pods may be unevenly distributed.\nWhen `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference\nbetween the number of matching pods in the target topology and the global minimum.\nThe global minimum is the minimum number of matching pods in an eligible domain\nor zero if the number of eligible domains is less than MinDomains.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 2/2/1:\nIn this case, the global minimum is 1.\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |   P   |\n- if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;\nscheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)\nviolate MaxSkew(1).\n- if MaxSkew is 2, incoming pod can be scheduled onto any zone.\nWhen `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence\nto topologies that satisfy it.\nIt's a required field. Default value is 1 and 0 is not allowed.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "minDomains": {
                                                                                "description": "MinDomains indicates a minimum number of eligible domains.\nWhen the number of eligible domains with matching topology keys is less than minDomains,\nPod Topology Spread treats \"global minimum\" as 0, and then the calculation of Skew is performed.\nAnd when the number of eligible domains with matching topology keys equals or greater than minDomains,\nthis value has no effect on scheduling.\nAs a result, when the number of eligible domains is less than minDomains,\nscheduler won't schedule more than maxSkew Pods to those domains.\nIf value is nil, the constraint behaves as if MinDomains is equal to 1.\nValid values are integers greater than 0.\nWhen value is not nil, WhenUnsatisfiable must be DoNotSchedule.\n\nFor example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same\nlabelSelector spread as 2/2/2:\n| zone1 | zone2 | zone3 |\n|  P P  |  P P  |  P P  |\nThe number of domains is less than 5(MinDomains), so \"global minimum\" is treated as 0.\nIn this situation, new pod with the same labelSelector cannot be scheduled,\nbecause computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,\nit will violate MaxSkew.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "nodeAffinityPolicy": {
                                                                                "description": "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector\nwhen calculating pod topology spread skew. Options are:\n- Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.\n- Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.\n\nIf this value is nil, the behavior is equivalent to the Honor policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                "type": "string"
                                                                            },
                                                                            "nodeTaintsPolicy": {
                                                                                "description": "NodeTaintsPolicy indicates how we will treat node taints when calculating\npod topology spread skew. Options are:\n- Honor: nodes without taints, along with tainted nodes for which the incoming pod\nhas a toleration, are included.\n- Ignore: node taints are ignored. All nodes are included.\n\nIf this value is nil, the behavior is equivalent to the Ignore policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.",
                                                                                "type": "string"
                                                                            },
                                                                            "topologyKey": {
                                                                                "description": "TopologyKey is the key of node labels. Nodes that have a label with this key\nand identical values are considered to be in the same topology.\nWe consider each \u003ckey, value\u003e as a \"bucket\", and try to put balanced number\nof pods into each bucket.\nWe define a domain as a particular instance of a topology.\nAlso, we define an eligible domain as a domain whose nodes meet the requirements of\nnodeAffinityPolicy and nodeTaintsPolicy.\ne.g. If TopologyKey is \"kubernetes.io/hostname\", each Node is a domain of that topology.\nAnd, if TopologyKey is \"topology.kubernetes.io/zone\", each zone is a domain of that topology.\nIt's a required field.",
                                                                                "type": "string"
                                                                            },
                                                                            "whenUnsatisfiable": {
                                                                                "description": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy\nthe spread constraint.\n- DoNotSchedule (default) tells the scheduler not to schedule it.\n- ScheduleAnyway tells the scheduler to schedule the pod in any location,\n  but giving higher precedence to topologies that would help reduce the\n  skew.\nA constraint is considered \"Unsatisfiable\" for an incoming pod\nif and only if every possible node assignment for that pod would violate\n\"MaxSkew\" on some topology.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 3/1/1:\n| zone1 | zone2 | zone3 |\n| P P P |   P   |   P   |\nIf WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled\nto zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies\nMaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler\nwon't make it *more* imbalanced.\nIt's a required field.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "maxSkew",
                                                                            "topologyKey",
                                                                            "whenUnsatisfiable"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "volumes": {
                                                                    "description": "List of volumes that can be mounted by containers belonging to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes\nSee Pod.spec.volumes (API version: v1)",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "retries": {
                                                            "description": "Retries represents how many times this TaskRun should be retried in the event of task failure.",
                                                            "type": "integer"
                                                        },
                                                        "serviceAccountName": {
                                                            "type": "string"
                                                        },
                                                        "sidecarSpecs": {
                                                            "description": "Specs to apply to Sidecars in this TaskRun.\nIf a field is specified in both a Sidecar and a SidecarSpec,\nthe value from the SidecarSpec will be used.\nThis field is only supported when the alpha feature gate is enabled.",
                                                            "items": {
                                                                "description": "TaskRunSidecarSpec is used to override the values of a Sidecar in the corresponding Task.",
                                                                "properties": {
                                                                    "computeResources": {
                                                                        "description": "The resource requirements to apply to the Sidecar.",
                                                                        "properties": {
                                                                            "claims": {
                                                                                "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                "items": {
                                                                                    "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "request": {
                                                                                            "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "name"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "limits": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            },
                                                                            "requests": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "The name of the Sidecar to override.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "computeResources",
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "status": {
                                                            "description": "Used for cancelling a TaskRun (and maybe more later on)",
                                                            "type": "string"
                                                        },
                                                        "statusMessage": {
                                                            "description": "Status message for cancellation.",
                                                            "type": "string"
                                                        },
                                                        "stepSpecs": {
                                                            "description": "Specs to apply to Steps in this TaskRun.\nIf a field is specified in both a Step and a StepSpec,\nthe value from the StepSpec will be used.\nThis field is only supported when the alpha feature gate is enabled.",
                                                            "items": {
                                                                "description": "TaskRunStepSpec is used to override the values of a Step in the corresponding Task.",
                                                                "properties": {
                                                                    "computeResources": {
                                                                        "description": "The resource requirements to apply to the Step.",
                                                                        "properties": {
                                                                            "claims": {
                                                                                "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                "items": {
                                                                                    "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "request": {
                                                                                            "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "name"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "limits": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            },
                                                                            "requests": {
                                                                                "additionalProperties": {
                                                                                    "anyOf": [
                                                                                        {
                                                                                            "type": "integer"
                                                                                        },
                                                                                        {
                                                                                            "type": "string"
                                                                                        }
                                                                                    ],
                                                                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                    "x-kubernetes-int-or-string": true
                                                                                },
                                                                                "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "The name of the Step to override.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "computeResources",
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "taskRef": {
                                                            "description": "no more than one of the TaskRef and TaskSpec may be specified.",
                                                            "properties": {
                                                                "apiVersion": {
                                                                    "description": "API version of the referent\nNote: A Task with non-empty APIVersion and Kind is considered a Custom Task",
                                                                    "type": "string"
                                                                },
                                                                "kind": {
                                                                    "description": "TaskKind indicates the Kind of the Task:\n1. Namespaced Task when Kind is set to \"Task\". If Kind is \"\", it defaults to \"Task\".\n2. Custom Task when Kind is non-empty and APIVersion is non-empty",
                                                                    "type": "string"
                                                                },
                                                                "name": {
                                                                    "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
                                                                    "type": "string"
                                                                },
                                                                "params": {
                                                                    "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                    "items": {
                                                                        "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                        "properties": {
                                                                            "name": {
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name",
                                                                            "value"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "resolver": {
                                                                    "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "taskSpec": {
                                                            "description": "Specifying TaskSpec can be disabled by setting\n`disable-inline-spec` feature flag.\nSee Task.spec (API version: tekton.dev/v1)",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "timeout": {
                                                            "description": "Time after which one retry attempt times out. Defaults to 1 hour.\nRefer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration",
                                                            "type": "string"
                                                        },
                                                        "workspaces": {
                                                            "description": "Workspaces is a list of WorkspaceBindings from volumes to workspaces.",
                                                            "items": {
                                                                "description": "WorkspaceBinding maps a Task's declared workspace to a Volume.",
                                                                "properties": {
                                                                    "configMap": {
                                                                        "description": "ConfigMap represents a configMap that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode is optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDefaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "items": {
                                                                                "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                "items": {
                                                                                    "description": "Maps a string key to a path within a volume.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "description": "key is the key to project.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mode": {
                                                                                            "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "path"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "name": {
                                                                                "default": "",
                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                "type": "string"
                                                                            },
                                                                            "optional": {
                                                                                "description": "optional specify whether the ConfigMap or its keys must be defined",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "type": "object",
                                                                        "x-kubernetes-map-type": "atomic"
                                                                    },
                                                                    "csi": {
                                                                        "description": "CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.",
                                                                        "properties": {
                                                                            "driver": {
                                                                                "description": "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster.",
                                                                                "type": "string"
                                                                            },
                                                                            "fsType": {
                                                                                "description": "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply.",
                                                                                "type": "string"
                                                                            },
                                                                            "nodePublishSecretRef": {
                                                                                "description": "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and  may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "default": "",
                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write).",
                                                                                "type": "boolean"
                                                                            },
                                                                            "volumeAttributes": {
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "description": "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values.",
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "driver"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "emptyDir": {
                                                                        "description": "EmptyDir represents a temporary directory that shares a Task's lifetime.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir\nEither this OR PersistentVolumeClaim can be used.",
                                                                        "properties": {
                                                                            "medium": {
                                                                                "description": "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
                                                                                "type": "string"
                                                                            },
                                                                            "sizeLimit": {
                                                                                "anyOf": [
                                                                                    {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ],
                                                                                "description": "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
                                                                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                "x-kubernetes-int-or-string": true
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name of the workspace populated by the volume.",
                                                                        "type": "string"
                                                                    },
                                                                    "persistentVolumeClaim": {
                                                                        "description": "PersistentVolumeClaimVolumeSource represents a reference to a\nPersistentVolumeClaim in the same namespace. Either this OR EmptyDir can be used.",
                                                                        "properties": {
                                                                            "claimName": {
                                                                                "description": "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
                                                                                "type": "string"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false.",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "claimName"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "projected": {
                                                                        "description": "Projected represents a projected volume that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode are the mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "sources": {
                                                                                "description": "sources is the list of volume projections. Each entry in this list\nhandles one source.",
                                                                                "items": {
                                                                                    "description": "Projection that may be projected along with other supported volume types.\nExactly one of these fields must be set.",
                                                                                    "properties": {
                                                                                        "clusterTrustBundle": {
                                                                                            "description": "ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field\nof ClusterTrustBundle objects in an auto-updating file.\n\nAlpha, gated by the ClusterTrustBundleProjection feature gate.\n\nClusterTrustBundle objects can either be selected by name, or by the\ncombination of signer name and a label selector.\n\nKubelet performs aggressive normalization of the PEM contents written\ninto the pod filesystem.  Esoteric PEM features such as inter-block\ncomments and block headers are stripped.  Certificates are deduplicated.\nThe ordering of certificates within the file is arbitrary, and Kubelet\nmay change the order over time.",
                                                                                            "properties": {
                                                                                                "labelSelector": {
                                                                                                    "description": "Select all ClusterTrustBundles that match this label selector.  Only has\neffect if signerName is set.  Mutually-exclusive with name.  If unset,\ninterpreted as \"match nothing\".  If set but empty, interpreted as \"match\neverything\".",
                                                                                                    "properties": {
                                                                                                        "matchExpressions": {
                                                                                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                                                                            "items": {
                                                                                                                "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                                                                                                                "properties": {
                                                                                                                    "key": {
                                                                                                                        "description": "key is the label key that the selector applies to.",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "operator": {
                                                                                                                        "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "values": {
                                                                                                                        "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                                                                                                                        "items": {
                                                                                                                            "type": "string"
                                                                                                                        },
                                                                                                                        "type": "array",
                                                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "key",
                                                                                                                    "operator"
                                                                                                                ],
                                                                                                                "type": "object"
                                                                                                            },
                                                                                                            "type": "array",
                                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                                        },
                                                                                                        "matchLabels": {
                                                                                                            "additionalProperties": {
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
                                                                                                            "type": "object"
                                                                                                        }
                                                                                                    },
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "description": "Select a single ClusterTrustBundle by object name.  Mutually-exclusive\nwith signerName and labelSelector.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "If true, don't block pod startup if the referenced ClusterTrustBundle(s)\naren't available.  If using name, then the named ClusterTrustBundle is\nallowed not to exist.  If using signerName, then the combination of\nsignerName and labelSelector is allowed to match zero\nClusterTrustBundles.",
                                                                                                    "type": "boolean"
                                                                                                },
                                                                                                "path": {
                                                                                                    "description": "Relative path from the volume root to write the bundle.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "signerName": {
                                                                                                    "description": "Select all ClusterTrustBundles that match this signer name.\nMutually-exclusive with name.  The contents of all selected\nClusterTrustBundles will be unified and deduplicated.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "path"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "configMap": {
                                                                                            "description": "configMap information about the configMap data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                                    "items": {
                                                                                                        "description": "Maps a string key to a path within a volume.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the key to project.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "optional specify whether the ConfigMap or its keys must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "downwardAPI": {
                                                                                            "description": "downwardAPI information about the downwardAPI data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "Items is a list of DownwardAPIVolume file",
                                                                                                    "items": {
                                                                                                        "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field",
                                                                                                        "properties": {
                                                                                                            "fieldRef": {
                                                                                                                "description": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.",
                                                                                                                "properties": {
                                                                                                                    "apiVersion": {
                                                                                                                        "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "fieldPath": {
                                                                                                                        "description": "Path of the field to select in the specified API version.",
                                                                                                                        "type": "string"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "fieldPath"
                                                                                                                ],
                                                                                                                "type": "object",
                                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "Required: Path is  the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "resourceFieldRef": {
                                                                                                                "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.",
                                                                                                                "properties": {
                                                                                                                    "containerName": {
                                                                                                                        "description": "Container name: required for volumes, optional for env vars",
                                                                                                                        "type": "string"
                                                                                                                    },
                                                                                                                    "divisor": {
                                                                                                                        "anyOf": [
                                                                                                                            {
                                                                                                                                "type": "integer"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "type": "string"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                                    },
                                                                                                                    "resource": {
                                                                                                                        "description": "Required: resource to select",
                                                                                                                        "type": "string"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "resource"
                                                                                                                ],
                                                                                                                "type": "object",
                                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "secret": {
                                                                                            "description": "secret information about the secret data to project",
                                                                                            "properties": {
                                                                                                "items": {
                                                                                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                                    "items": {
                                                                                                        "description": "Maps a string key to a path within a volume.",
                                                                                                        "properties": {
                                                                                                            "key": {
                                                                                                                "description": "key is the key to project.",
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "mode": {
                                                                                                                "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                                                "format": "int32",
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            "path": {
                                                                                                                "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "key",
                                                                                                            "path"
                                                                                                        ],
                                                                                                        "type": "object"
                                                                                                    },
                                                                                                    "type": "array",
                                                                                                    "x-kubernetes-list-type": "atomic"
                                                                                                },
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "optional field specify whether the Secret or its key must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "serviceAccountToken": {
                                                                                            "description": "serviceAccountToken is information about the serviceAccountToken data to project",
                                                                                            "properties": {
                                                                                                "audience": {
                                                                                                    "description": "audience is the intended audience of the token. A recipient of a token\nmust identify itself with an identifier specified in the audience of the\ntoken, and otherwise should reject the token. The audience defaults to the\nidentifier of the apiserver.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "expirationSeconds": {
                                                                                                    "description": "expirationSeconds is the requested duration of validity of the service\naccount token. As the token approaches expiration, the kubelet volume\nplugin will proactively rotate the service account token. The kubelet will\nstart trying to rotate the token if the token is older than 80 percent of\nits time to live or if the token is older than 24 hours.Defaults to 1 hour\nand must be at least 10 minutes.",
                                                                                                    "format": "int64",
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                "path": {
                                                                                                    "description": "path is the path relative to the mount point of the file to project the\ntoken into.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "path"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "secret": {
                                                                        "description": "Secret represents a secret that should populate this workspace.",
                                                                        "properties": {
                                                                            "defaultMode": {
                                                                                "description": "defaultMode is Optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values\nfor mode bits. Defaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "items": {
                                                                                "description": "items If unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
                                                                                "items": {
                                                                                    "description": "Maps a string key to a path within a volume.",
                                                                                    "properties": {
                                                                                        "key": {
                                                                                            "description": "key is the key to project.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mode": {
                                                                                            "description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "path": {
                                                                                            "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "key",
                                                                                        "path"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "optional": {
                                                                                "description": "optional field specify whether the Secret or its keys must be defined",
                                                                                "type": "boolean"
                                                                            },
                                                                            "secretName": {
                                                                                "description": "secretName is the name of the secret in the pod's namespace to use.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "subPath": {
                                                                        "description": "SubPath is optionally a directory on the volume which should be used\nfor this binding (i.e. the volume will be mounted at this sub directory).",
                                                                        "type": "string"
                                                                    },
                                                                    "volumeClaimTemplate": {
                                                                        "description": "VolumeClaimTemplate is a template for a claim that will be created in the same namespace.\nThe PipelineRun controller is responsible for creating a unique claim for each instance of PipelineRun.\nSee PersistentVolumeClaim (API version: v1)",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "status": {
                                                    "description": "TaskRunStatus defines the observed state of TaskRun",
                                                    "properties": {
                                                        "annotations": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
                                                            "type": "object"
                                                        },
                                                        "artifacts": {
                                                            "description": "Artifacts are the list of artifacts written out by the task's containers",
                                                            "properties": {
                                                                "inputs": {
                                                                    "items": {
                                                                        "description": "Artifact represents an artifact within a system, potentially containing multiple values\nassociated with it.",
                                                                        "properties": {
                                                                            "buildOutput": {
                                                                                "description": "Indicate if the artifact is a build output or a by-product",
                                                                                "type": "boolean"
                                                                            },
                                                                            "name": {
                                                                                "description": "The artifact's identifying category name",
                                                                                "type": "string"
                                                                            },
                                                                            "values": {
                                                                                "description": "A collection of values related to the artifact",
                                                                                "items": {
                                                                                    "description": "ArtifactValue represents a specific value or data element within an Artifact.",
                                                                                    "properties": {
                                                                                        "digest": {
                                                                                            "additionalProperties": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "uri": {
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "outputs": {
                                                                    "items": {
                                                                        "description": "Artifact represents an artifact within a system, potentially containing multiple values\nassociated with it.",
                                                                        "properties": {
                                                                            "buildOutput": {
                                                                                "description": "Indicate if the artifact is a build output or a by-product",
                                                                                "type": "boolean"
                                                                            },
                                                                            "name": {
                                                                                "description": "The artifact's identifying category name",
                                                                                "type": "string"
                                                                            },
                                                                            "values": {
                                                                                "description": "A collection of values related to the artifact",
                                                                                "items": {
                                                                                    "description": "ArtifactValue represents a specific value or data element within an Artifact.",
                                                                                    "properties": {
                                                                                        "digest": {
                                                                                            "additionalProperties": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "object"
                                                                                        },
                                                                                        "uri": {
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "completionTime": {
                                                            "description": "CompletionTime is the time the build completed.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "conditions": {
                                                            "description": "Conditions the latest available observations of a resource's current state.",
                                                            "items": {
                                                                "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
                                                                "properties": {
                                                                    "lastTransitionTime": {
                                                                        "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                                                                        "type": "string"
                                                                    },
                                                                    "message": {
                                                                        "description": "A human readable message indicating details about the transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "reason": {
                                                                        "description": "The reason for the condition's last transition.",
                                                                        "type": "string"
                                                                    },
                                                                    "severity": {
                                                                        "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                                                                        "type": "string"
                                                                    },
                                                                    "status": {
                                                                        "description": "Status of the condition, one of True, False, Unknown.",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type of condition.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "status",
                                                                    "type"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "observedGeneration": {
                                                            "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
                                                            "format": "int64",
                                                            "type": "integer"
                                                        },
                                                        "podName": {
                                                            "description": "PodName is the name of the pod responsible for executing this task's steps.",
                                                            "type": "string"
                                                        },
                                                        "provenance": {
                                                            "description": "Provenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).",
                                                            "properties": {
                                                                "featureFlags": {
                                                                    "description": "FeatureFlags identifies the feature flags that were used during the task/pipeline run",
                                                                    "properties": {
                                                                        "awaitSidecarReadiness": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "coschedule": {
                                                                            "type": "string"
                                                                        },
                                                                        "disableCredsInit": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "disableInlineSpec": {
                                                                            "type": "string"
                                                                        },
                                                                        "enableAPIFields": {
                                                                            "type": "string"
                                                                        },
                                                                        "enableArtifacts": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableCELInWhenExpression": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableConciseResolverSyntax": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableKeepPodOnCancel": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableKubernetesSidecar": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableParamEnum": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableProvenanceInStatus": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableStepActions": {
                                                                            "description": "EnableStepActions is a no-op flag since StepActions are stable",
                                                                            "type": "boolean"
                                                                        },
                                                                        "enableWaitExponentialBackoff": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "enforceNonfalsifiability": {
                                                                            "type": "string"
                                                                        },
                                                                        "maxResultSize": {
                                                                            "type": "integer"
                                                                        },
                                                                        "requireGitSSHSecretKnownHosts": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "resultExtractionMethod": {
                                                                            "type": "string"
                                                                        },
                                                                        "runningInEnvWithInjectedSidecars": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "sendCloudEventsForRuns": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "setSecurityContext": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "setSecurityContextReadOnlyRootFilesystem": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "verificationNoMatchPolicy": {
                                                                            "description": "VerificationNoMatchPolicy is the feature flag for \"trusted-resources-verification-no-match-policy\"\nVerificationNoMatchPolicy can be set to \"ignore\", \"warn\" and \"fail\" values.\nignore: skip trusted resources verification when no matching verification policies found\nwarn: skip trusted resources verification when no matching verification policies found and log a warning\nfail: fail the taskrun or pipelines run if no matching verification policies found",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "refSource": {
                                                                    "description": "RefSource identifies the source where a remote task/pipeline came from.",
                                                                    "properties": {
                                                                        "digest": {
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                            "type": "object"
                                                                        },
                                                                        "entryPoint": {
                                                                            "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                            "type": "string"
                                                                        },
                                                                        "uri": {
                                                                            "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "results": {
                                                            "description": "Results are the list of results written out by the task's containers",
                                                            "items": {
                                                                "description": "TaskRunResult used to describe the results of a task",
                                                                "properties": {
                                                                    "name": {
                                                                        "description": "Name the given name",
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "description": "Type is the user-specified type of the result. The possible type\nis currently \"string\" and will support \"array\" in following work.",
                                                                        "type": "string"
                                                                    },
                                                                    "value": {
                                                                        "description": "Value the given value of the result",
                                                                        "x-kubernetes-preserve-unknown-fields": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "value"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "retriesStatus": {
                                                            "description": "RetriesStatus contains the history of TaskRunStatus in case of a retry in order to keep record of failures.\nAll TaskRunStatus stored in RetriesStatus will have no date within the RetriesStatus as is redundant.",
                                                            "x-kubernetes-preserve-unknown-fields": true
                                                        },
                                                        "sidecars": {
                                                            "description": "The list has one entry per sidecar in the manifest. Each entry is\nrepresents the imageid of the corresponding sidecar.",
                                                            "items": {
                                                                "description": "SidecarState reports the results of running a sidecar in a Task.",
                                                                "properties": {
                                                                    "container": {
                                                                        "type": "string"
                                                                    },
                                                                    "imageID": {
                                                                        "type": "string"
                                                                    },
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "running": {
                                                                        "description": "Details about a running container",
                                                                        "properties": {
                                                                            "startedAt": {
                                                                                "description": "Time at which the container was last (re-)started",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "terminated": {
                                                                        "description": "Details about a terminated container",
                                                                        "properties": {
                                                                            "containerID": {
                                                                                "description": "Container's ID in the format '\u003ctype\u003e://\u003ccontainer_id\u003e'",
                                                                                "type": "string"
                                                                            },
                                                                            "exitCode": {
                                                                                "description": "Exit status from the last termination of the container",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "finishedAt": {
                                                                                "description": "Time at which the container last terminated",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            },
                                                                            "message": {
                                                                                "description": "Message regarding the last termination of the container",
                                                                                "type": "string"
                                                                            },
                                                                            "reason": {
                                                                                "description": "(brief) reason from the last termination of the container",
                                                                                "type": "string"
                                                                            },
                                                                            "signal": {
                                                                                "description": "Signal from the last termination of the container",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "startedAt": {
                                                                                "description": "Time at which previous execution of the container started",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "exitCode"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "waiting": {
                                                                        "description": "Details about a waiting container",
                                                                        "properties": {
                                                                            "message": {
                                                                                "description": "Message regarding why the container is not yet running.",
                                                                                "type": "string"
                                                                            },
                                                                            "reason": {
                                                                                "description": "(brief) reason the container is not yet running.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "spanContext": {
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "description": "SpanContext contains tracing span context fields",
                                                            "type": "object"
                                                        },
                                                        "startTime": {
                                                            "description": "StartTime is the time the build is actually started.",
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "steps": {
                                                            "description": "Steps describes the state of each build step container.",
                                                            "items": {
                                                                "description": "StepState reports the results of running a step in a Task.",
                                                                "properties": {
                                                                    "container": {
                                                                        "type": "string"
                                                                    },
                                                                    "imageID": {
                                                                        "type": "string"
                                                                    },
                                                                    "inputs": {
                                                                        "items": {
                                                                            "description": "Artifact represents an artifact within a system, potentially containing multiple values\nassociated with it.",
                                                                            "properties": {
                                                                                "buildOutput": {
                                                                                    "description": "Indicate if the artifact is a build output or a by-product",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "name": {
                                                                                    "description": "The artifact's identifying category name",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "A collection of values related to the artifact",
                                                                                    "items": {
                                                                                        "description": "ArtifactValue represents a specific value or data element within an Artifact.",
                                                                                        "properties": {
                                                                                            "digest": {
                                                                                                "additionalProperties": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "object"
                                                                                            },
                                                                                            "uri": {
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "type": "array"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "outputs": {
                                                                        "items": {
                                                                            "description": "Artifact represents an artifact within a system, potentially containing multiple values\nassociated with it.",
                                                                            "properties": {
                                                                                "buildOutput": {
                                                                                    "description": "Indicate if the artifact is a build output or a by-product",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "name": {
                                                                                    "description": "The artifact's identifying category name",
                                                                                    "type": "string"
                                                                                },
                                                                                "values": {
                                                                                    "description": "A collection of values related to the artifact",
                                                                                    "items": {
                                                                                        "description": "ArtifactValue represents a specific value or data element within an Artifact.",
                                                                                        "properties": {
                                                                                            "digest": {
                                                                                                "additionalProperties": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "object"
                                                                                            },
                                                                                            "uri": {
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "type": "array"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "provenance": {
                                                                        "description": "Provenance contains metadata about resources used in the TaskRun/PipelineRun\nsuch as the source from where a remote build definition was fetched.\nThis field aims to carry minimum amoumt of metadata in *Run status so that\nTekton Chains can capture them in the provenance.",
                                                                        "properties": {
                                                                            "featureFlags": {
                                                                                "description": "FeatureFlags identifies the feature flags that were used during the task/pipeline run",
                                                                                "properties": {
                                                                                    "awaitSidecarReadiness": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "coschedule": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "disableCredsInit": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "disableInlineSpec": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "enableAPIFields": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "enableArtifacts": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableCELInWhenExpression": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableConciseResolverSyntax": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableKeepPodOnCancel": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableKubernetesSidecar": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableParamEnum": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableProvenanceInStatus": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableStepActions": {
                                                                                        "description": "EnableStepActions is a no-op flag since StepActions are stable",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enableWaitExponentialBackoff": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "enforceNonfalsifiability": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "maxResultSize": {
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "requireGitSSHSecretKnownHosts": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "resultExtractionMethod": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "runningInEnvWithInjectedSidecars": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "sendCloudEventsForRuns": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "setSecurityContext": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "setSecurityContextReadOnlyRootFilesystem": {
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "verificationNoMatchPolicy": {
                                                                                        "description": "VerificationNoMatchPolicy is the feature flag for \"trusted-resources-verification-no-match-policy\"\nVerificationNoMatchPolicy can be set to \"ignore\", \"warn\" and \"fail\" values.\nignore: skip trusted resources verification when no matching verification policies found\nwarn: skip trusted resources verification when no matching verification policies found and log a warning\nfail: fail the taskrun or pipelines run if no matching verification policies found",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "refSource": {
                                                                                "description": "RefSource identifies the source where a remote task/pipeline came from.",
                                                                                "properties": {
                                                                                    "digest": {
                                                                                        "additionalProperties": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "description": "Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.\nExample: {\"sha1\": \"f99d13e554ffcb696dee719fa85b695cb5b0f428\"}",
                                                                                        "type": "object"
                                                                                    },
                                                                                    "entryPoint": {
                                                                                        "description": "EntryPoint identifies the entry point into the build. This is often a path to a\nbuild definition file and/or a target label within that file.\nExample: \"task/git-clone/0.10/git-clone.yaml\"",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "uri": {
                                                                                        "description": "URI indicates the identity of the source of the build definition.\nExample: \"https://github.com/tektoncd/catalog\"",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "results": {
                                                                        "items": {
                                                                            "description": "TaskRunResult used to describe the results of a task",
                                                                            "properties": {
                                                                                "name": {
                                                                                    "description": "Name the given name",
                                                                                    "type": "string"
                                                                                },
                                                                                "type": {
                                                                                    "description": "Type is the user-specified type of the result. The possible type\nis currently \"string\" and will support \"array\" in following work.",
                                                                                    "type": "string"
                                                                                },
                                                                                "value": {
                                                                                    "description": "Value the given value of the result",
                                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "name",
                                                                                "value"
                                                                            ],
                                                                            "type": "object"
                                                                        },
                                                                        "type": "array"
                                                                    },
                                                                    "running": {
                                                                        "description": "Details about a running container",
                                                                        "properties": {
                                                                            "startedAt": {
                                                                                "description": "Time at which the container was last (re-)started",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "terminated": {
                                                                        "description": "Details about a terminated container",
                                                                        "properties": {
                                                                            "containerID": {
                                                                                "description": "Container's ID in the format '\u003ctype\u003e://\u003ccontainer_id\u003e'",
                                                                                "type": "string"
                                                                            },
                                                                            "exitCode": {
                                                                                "description": "Exit status from the last termination of the container",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "finishedAt": {
                                                                                "description": "Time at which the container last terminated",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            },
                                                                            "message": {
                                                                                "description": "Message regarding the last termination of the container",
                                                                                "type": "string"
                                                                            },
                                                                            "reason": {
                                                                                "description": "(brief) reason from the last termination of the container",
                                                                                "type": "string"
                                                                            },
                                                                            "signal": {
                                                                                "description": "Signal from the last termination of the container",
                                                                                "format": "int32",
                                                                                "type": "integer"
                                                                            },
                                                                            "startedAt": {
                                                                                "description": "Time at which previous execution of the container started",
                                                                                "format": "date-time",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "exitCode"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "terminationReason": {
                                                                        "type": "string"
                                                                    },
                                                                    "waiting": {
                                                                        "description": "Details about a waiting container",
                                                                        "properties": {
                                                                            "message": {
                                                                                "description": "Message regarding why the container is not yet running.",
                                                                                "type": "string"
                                                                            },
                                                                            "reason": {
                                                                                "description": "(brief) reason the container is not yet running.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            "type": "array",
                                                            "x-kubernetes-list-type": "atomic"
                                                        },
                                                        "taskSpec": {
                                                            "description": "TaskSpec contains the Spec from the dereferenced Task definition used to instantiate this TaskRun.",
                                                            "properties": {
                                                                "description": {
                                                                    "description": "Description is a user-facing description of the task that may be\nused to populate a UI.",
                                                                    "type": "string"
                                                                },
                                                                "displayName": {
                                                                    "description": "DisplayName is a user-facing name of the task that may be\nused to populate a UI.",
                                                                    "type": "string"
                                                                },
                                                                "params": {
                                                                    "description": "Params is a list of input parameters required to run the task. Params\nmust be supplied as inputs in TaskRuns unless they declare a default\nvalue.",
                                                                    "items": {
                                                                        "description": "ParamSpec defines arbitrary parameters needed beyond typed inputs (such as\nresources). Parameter values are provided by users as inputs on a TaskRun\nor PipelineRun.",
                                                                        "properties": {
                                                                            "default": {
                                                                                "description": "Default is the value a parameter takes if no input value is supplied. If\ndefault is set, a Task may be executed without a supplied value for the\nparameter.",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            },
                                                                            "description": {
                                                                                "description": "Description is a user-facing description of the parameter that may be\nused to populate a UI.",
                                                                                "type": "string"
                                                                            },
                                                                            "enum": {
                                                                                "description": "Enum declares a set of allowed param input values for tasks/pipelines that can be validated.\nIf Enum is not set, no input validation is performed for the param.",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name declares the name by which a parameter is referenced.",
                                                                                "type": "string"
                                                                            },
                                                                            "properties": {
                                                                                "additionalProperties": {
                                                                                    "description": "PropertySpec defines the struct for object keys",
                                                                                    "properties": {
                                                                                        "type": {
                                                                                            "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "description": "Properties is the JSON Schema properties to support key-value pairs parameter.",
                                                                                "type": "object"
                                                                            },
                                                                            "type": {
                                                                                "description": "Type is the user-specified type of the parameter. The possible types\nare currently \"string\", \"array\" and \"object\", and \"string\" is the default.",
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "results": {
                                                                    "description": "Results are values that this Task can output",
                                                                    "items": {
                                                                        "description": "TaskResult used to describe the results of a task",
                                                                        "properties": {
                                                                            "description": {
                                                                                "description": "Description is a human-readable description of the result",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name the given name",
                                                                                "type": "string"
                                                                            },
                                                                            "properties": {
                                                                                "additionalProperties": {
                                                                                    "description": "PropertySpec defines the struct for object keys",
                                                                                    "properties": {
                                                                                        "type": {
                                                                                            "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "description": "Properties is the JSON Schema properties to support key-value pairs results.",
                                                                                "type": "object"
                                                                            },
                                                                            "type": {
                                                                                "description": "Type is the user-specified type of the result. The possible type\nis currently \"string\" and will support \"array\" in following work.",
                                                                                "type": "string"
                                                                            },
                                                                            "value": {
                                                                                "description": "Value the expression used to retrieve the value of the result from an underlying Step.",
                                                                                "x-kubernetes-preserve-unknown-fields": true
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "sidecars": {
                                                                    "description": "Sidecars are run alongside the Task's step containers. They begin before\nthe steps start and end after the steps complete.",
                                                                    "items": {
                                                                        "description": "Sidecar has nearly the same data structure as Step but does not have the ability to timeout.",
                                                                        "properties": {
                                                                            "args": {
                                                                                "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Sidecar's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "command": {
                                                                                "description": "Entrypoint array. Not executed within a shell.\nThe image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Sidecar's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "computeResources": {
                                                                                "description": "ComputeResources required by this Sidecar.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "properties": {
                                                                                    "claims": {
                                                                                        "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                        "items": {
                                                                                            "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "request": {
                                                                                                    "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-map-keys": [
                                                                                            "name"
                                                                                        ],
                                                                                        "x-kubernetes-list-type": "map"
                                                                                    },
                                                                                    "limits": {
                                                                                        "additionalProperties": {
                                                                                            "anyOf": [
                                                                                                {
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            ],
                                                                                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                            "x-kubernetes-int-or-string": true
                                                                                        },
                                                                                        "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                        "type": "object"
                                                                                    },
                                                                                    "requests": {
                                                                                        "additionalProperties": {
                                                                                            "anyOf": [
                                                                                                {
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            ],
                                                                                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                            "x-kubernetes-int-or-string": true
                                                                                        },
                                                                                        "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "env": {
                                                                                "description": "List of environment variables to set in the Sidecar.\nCannot be updated.",
                                                                                "items": {
                                                                                    "description": "EnvVar represents an environment variable present in a Container.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "valueFrom": {
                                                                                            "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                            "properties": {
                                                                                                "configMapKeyRef": {
                                                                                                    "description": "Selects a key of a ConfigMap.",
                                                                                                    "properties": {
                                                                                                        "key": {
                                                                                                            "description": "The key to select.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "name": {
                                                                                                            "default": "",
                                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "optional": {
                                                                                                            "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                            "type": "boolean"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "key"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "fieldRef": {
                                                                                                    "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                                    "properties": {
                                                                                                        "apiVersion": {
                                                                                                            "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "fieldPath": {
                                                                                                            "description": "Path of the field to select in the specified API version.",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "fieldPath"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "resourceFieldRef": {
                                                                                                    "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                                    "properties": {
                                                                                                        "containerName": {
                                                                                                            "description": "Container name: required for volumes, optional for env vars",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "divisor": {
                                                                                                            "anyOf": [
                                                                                                                {
                                                                                                                    "type": "integer"
                                                                                                                },
                                                                                                                {
                                                                                                                    "type": "string"
                                                                                                                }
                                                                                                            ],
                                                                                                            "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                            "x-kubernetes-int-or-string": true
                                                                                                        },
                                                                                                        "resource": {
                                                                                                            "description": "Required: resource to select",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "resource"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "secretKeyRef": {
                                                                                                    "description": "Selects a key of a secret in the pod's namespace",
                                                                                                    "properties": {
                                                                                                        "key": {
                                                                                                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "name": {
                                                                                                            "default": "",
                                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "optional": {
                                                                                                            "description": "Specify whether the Secret or its key must be defined",
                                                                                                            "type": "boolean"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "key"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "envFrom": {
                                                                                "description": "List of sources to populate environment variables in the Sidecar.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the container is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.",
                                                                                "items": {
                                                                                    "description": "EnvFromSource represents the source of a set of ConfigMaps",
                                                                                    "properties": {
                                                                                        "configMapRef": {
                                                                                            "description": "The ConfigMap to select from",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the ConfigMap must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "prefix": {
                                                                                            "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "secretRef": {
                                                                                            "description": "The Secret to select from",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the Secret must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "image": {
                                                                                "description": "Image reference name.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                                                                "type": "string"
                                                                            },
                                                                            "imagePullPolicy": {
                                                                                "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
                                                                                "type": "string"
                                                                            },
                                                                            "lifecycle": {
                                                                                "description": "Actions that the management system should take in response to Sidecar lifecycle events.\nCannot be updated.",
                                                                                "properties": {
                                                                                    "postStart": {
                                                                                        "description": "PostStart is called immediately after a container is created. If the handler fails,\nthe container is terminated and restarted according to its restart policy.\nOther management of the container blocks until the hook completes.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
                                                                                        "properties": {
                                                                                            "exec": {
                                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                                "properties": {
                                                                                                    "command": {
                                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                        "items": {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "type": "array",
                                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                                    }
                                                                                                },
                                                                                                "type": "object"
                                                                                            },
                                                                                            "httpGet": {
                                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                                "properties": {
                                                                                                    "host": {
                                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "httpHeaders": {
                                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                        "items": {
                                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                            "properties": {
                                                                                                                "name": {
                                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                                    "type": "string"
                                                                                                                },
                                                                                                                "value": {
                                                                                                                    "description": "The header field value",
                                                                                                                    "type": "string"
                                                                                                                }
                                                                                                            },
                                                                                                            "required": [
                                                                                                                "name",
                                                                                                                "value"
                                                                                                            ],
                                                                                                            "type": "object"
                                                                                                        },
                                                                                                        "type": "array",
                                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                                    },
                                                                                                    "path": {
                                                                                                        "description": "Path to access on the HTTP server.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "port": {
                                                                                                        "anyOf": [
                                                                                                            {
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            {
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        ],
                                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                    },
                                                                                                    "scheme": {
                                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "port"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "sleep": {
                                                                                                "description": "Sleep represents a duration that the container should sleep.",
                                                                                                "properties": {
                                                                                                    "seconds": {
                                                                                                        "description": "Seconds is the number of seconds to sleep.",
                                                                                                        "format": "int64",
                                                                                                        "type": "integer"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "seconds"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "tcpSocket": {
                                                                                                "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility. There is no validation of this field and\nlifecycle hooks will fail at runtime when it is specified.",
                                                                                                "properties": {
                                                                                                    "host": {
                                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "port": {
                                                                                                        "anyOf": [
                                                                                                            {
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            {
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        ],
                                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "port"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "preStop": {
                                                                                        "description": "PreStop is called immediately before a container is terminated due to an\nAPI request or management event such as liveness/startup probe failure,\npreemption, resource contention, etc. The handler is not called if the\ncontainer crashes or exits. The Pod's termination grace period countdown begins before the\nPreStop hook is executed. Regardless of the outcome of the handler, the\ncontainer will eventually terminate within the Pod's termination grace\nperiod (unless delayed by finalizers). Other management of the container blocks until the hook completes\nor until the termination grace period is reached.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks",
                                                                                        "properties": {
                                                                                            "exec": {
                                                                                                "description": "Exec specifies a command to execute in the container.",
                                                                                                "properties": {
                                                                                                    "command": {
                                                                                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                        "items": {
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "type": "array",
                                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                                    }
                                                                                                },
                                                                                                "type": "object"
                                                                                            },
                                                                                            "httpGet": {
                                                                                                "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                                "properties": {
                                                                                                    "host": {
                                                                                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "httpHeaders": {
                                                                                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                        "items": {
                                                                                                            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                            "properties": {
                                                                                                                "name": {
                                                                                                                    "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                                    "type": "string"
                                                                                                                },
                                                                                                                "value": {
                                                                                                                    "description": "The header field value",
                                                                                                                    "type": "string"
                                                                                                                }
                                                                                                            },
                                                                                                            "required": [
                                                                                                                "name",
                                                                                                                "value"
                                                                                                            ],
                                                                                                            "type": "object"
                                                                                                        },
                                                                                                        "type": "array",
                                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                                    },
                                                                                                    "path": {
                                                                                                        "description": "Path to access on the HTTP server.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "port": {
                                                                                                        "anyOf": [
                                                                                                            {
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            {
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        ],
                                                                                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                    },
                                                                                                    "scheme": {
                                                                                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "port"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "sleep": {
                                                                                                "description": "Sleep represents a duration that the container should sleep.",
                                                                                                "properties": {
                                                                                                    "seconds": {
                                                                                                        "description": "Seconds is the number of seconds to sleep.",
                                                                                                        "format": "int64",
                                                                                                        "type": "integer"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "seconds"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            },
                                                                                            "tcpSocket": {
                                                                                                "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility. There is no validation of this field and\nlifecycle hooks will fail at runtime when it is specified.",
                                                                                                "properties": {
                                                                                                    "host": {
                                                                                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "port": {
                                                                                                        "anyOf": [
                                                                                                            {
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            {
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        ],
                                                                                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "port"
                                                                                                ],
                                                                                                "type": "object"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "livenessProbe": {
                                                                                "description": "Periodic probe of Sidecar liveness.\nContainer will be restarted if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "properties": {
                                                                                    "exec": {
                                                                                        "description": "Exec specifies a command to execute in the container.",
                                                                                        "properties": {
                                                                                            "command": {
                                                                                                "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                "items": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "failureThreshold": {
                                                                                        "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "grpc": {
                                                                                        "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                        "properties": {
                                                                                            "port": {
                                                                                                "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                                "format": "int32",
                                                                                                "type": "integer"
                                                                                            },
                                                                                            "service": {
                                                                                                "default": "",
                                                                                                "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "httpGet": {
                                                                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "httpHeaders": {
                                                                                                "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                "items": {
                                                                                                    "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                    "properties": {
                                                                                                        "name": {
                                                                                                            "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "value": {
                                                                                                            "description": "The header field value",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "name",
                                                                                                        "value"
                                                                                                    ],
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "path": {
                                                                                                "description": "Path to access on the HTTP server.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "scheme": {
                                                                                                "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "initialDelaySeconds": {
                                                                                        "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "periodSeconds": {
                                                                                        "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "successThreshold": {
                                                                                        "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "tcpSocket": {
                                                                                        "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "terminationGracePeriodSeconds": {
                                                                                        "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                        "format": "int64",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "timeoutSeconds": {
                                                                                        "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the Sidecar specified as a DNS_LABEL.\nEach Sidecar in a Task must have a unique name (DNS_LABEL).\nCannot be updated.",
                                                                                "type": "string"
                                                                            },
                                                                            "ports": {
                                                                                "description": "List of ports to expose from the Sidecar. Exposing a port here gives\nthe system additional information about the network connections a\ncontainer uses, but is primarily informational. Not specifying a port here\nDOES NOT prevent that port from being exposed. Any port which is\nlistening on the default \"0.0.0.0\" address inside a container will be\naccessible from the network.\nCannot be updated.",
                                                                                "items": {
                                                                                    "description": "ContainerPort represents a network port in a single container.",
                                                                                    "properties": {
                                                                                        "containerPort": {
                                                                                            "description": "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 \u003c x \u003c 65536.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "hostIP": {
                                                                                            "description": "What host IP to bind the external port to.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "hostPort": {
                                                                                            "description": "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 \u003c x \u003c 65536.\nIf HostNetwork is specified, this must match ContainerPort.\nMost containers do not need this.",
                                                                                            "format": "int32",
                                                                                            "type": "integer"
                                                                                        },
                                                                                        "name": {
                                                                                            "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each\nnamed port in a pod must have a unique name. Name for the port that can be\nreferred to by services.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "protocol": {
                                                                                            "default": "TCP",
                                                                                            "description": "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\".",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "containerPort"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-map-keys": [
                                                                                    "containerPort",
                                                                                    "protocol"
                                                                                ],
                                                                                "x-kubernetes-list-type": "map"
                                                                            },
                                                                            "readinessProbe": {
                                                                                "description": "Periodic probe of Sidecar service readiness.\nContainer will be removed from service endpoints if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "properties": {
                                                                                    "exec": {
                                                                                        "description": "Exec specifies a command to execute in the container.",
                                                                                        "properties": {
                                                                                            "command": {
                                                                                                "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                "items": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "failureThreshold": {
                                                                                        "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "grpc": {
                                                                                        "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                        "properties": {
                                                                                            "port": {
                                                                                                "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                                "format": "int32",
                                                                                                "type": "integer"
                                                                                            },
                                                                                            "service": {
                                                                                                "default": "",
                                                                                                "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "httpGet": {
                                                                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "httpHeaders": {
                                                                                                "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                "items": {
                                                                                                    "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                    "properties": {
                                                                                                        "name": {
                                                                                                            "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "value": {
                                                                                                            "description": "The header field value",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "name",
                                                                                                        "value"
                                                                                                    ],
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "path": {
                                                                                                "description": "Path to access on the HTTP server.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "scheme": {
                                                                                                "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "initialDelaySeconds": {
                                                                                        "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "periodSeconds": {
                                                                                        "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "successThreshold": {
                                                                                        "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "tcpSocket": {
                                                                                        "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "terminationGracePeriodSeconds": {
                                                                                        "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                        "format": "int64",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "timeoutSeconds": {
                                                                                        "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "restartPolicy": {
                                                                                "description": "RestartPolicy refers to kubernetes RestartPolicy. It can only be set for an\ninitContainer and must have it's policy set to \"Always\". It is currently\nleft optional to help support Kubernetes versions prior to 1.29 when this feature\nwas introduced.",
                                                                                "type": "string"
                                                                            },
                                                                            "script": {
                                                                                "description": "Script is the contents of an executable file to execute.\n\nIf Script is not empty, the Step cannot have an Command or Args.",
                                                                                "type": "string"
                                                                            },
                                                                            "securityContext": {
                                                                                "description": "SecurityContext defines the security options the Sidecar should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
                                                                                "properties": {
                                                                                    "allowPrivilegeEscalation": {
                                                                                        "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "appArmorProfile": {
                                                                                        "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "properties": {
                                                                                            "localhostProfile": {
                                                                                                "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": {
                                                                                                "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "type"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "capabilities": {
                                                                                        "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "properties": {
                                                                                            "add": {
                                                                                                "description": "Added capabilities",
                                                                                                "items": {
                                                                                                    "description": "Capability represent POSIX capabilities type",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "drop": {
                                                                                                "description": "Removed capabilities",
                                                                                                "items": {
                                                                                                    "description": "Capability represent POSIX capabilities type",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "privileged": {
                                                                                        "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "procMount": {
                                                                                        "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "readOnlyRootFilesystem": {
                                                                                        "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "runAsGroup": {
                                                                                        "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "format": "int64",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "runAsNonRoot": {
                                                                                        "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "runAsUser": {
                                                                                        "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "format": "int64",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "seLinuxOptions": {
                                                                                        "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "properties": {
                                                                                            "level": {
                                                                                                "description": "Level is SELinux level label that applies to the container.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "role": {
                                                                                                "description": "Role is a SELinux role label that applies to the container.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": {
                                                                                                "description": "Type is a SELinux type label that applies to the container.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "user": {
                                                                                                "description": "User is a SELinux user label that applies to the container.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "seccompProfile": {
                                                                                        "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "properties": {
                                                                                            "localhostProfile": {
                                                                                                "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": {
                                                                                                "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "type"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "windowsOptions": {
                                                                                        "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                                        "properties": {
                                                                                            "gmsaCredentialSpec": {
                                                                                                "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "gmsaCredentialSpecName": {
                                                                                                "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "hostProcess": {
                                                                                                "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "runAsUserName": {
                                                                                                "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "startupProbe": {
                                                                                "description": "StartupProbe indicates that the Pod the Sidecar is running in has successfully initialized.\nIf specified, no other probes are executed until this completes successfully.\nIf this probe fails, the Pod will be restarted, just as if the livenessProbe failed.\nThis can be used to provide different probe parameters at the beginning of a Pod's lifecycle,\nwhen it might take a long time to load data or warm a cache, than during steady-state operation.\nThis cannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                "properties": {
                                                                                    "exec": {
                                                                                        "description": "Exec specifies a command to execute in the container.",
                                                                                        "properties": {
                                                                                            "command": {
                                                                                                "description": "Command is the command line to execute inside the container, the working directory for the\ncommand  is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
                                                                                                "items": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "failureThreshold": {
                                                                                        "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "grpc": {
                                                                                        "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                                                                        "properties": {
                                                                                            "port": {
                                                                                                "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                                                                                "format": "int32",
                                                                                                "type": "integer"
                                                                                            },
                                                                                            "service": {
                                                                                                "default": "",
                                                                                                "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "httpGet": {
                                                                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "httpHeaders": {
                                                                                                "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                                                                                "items": {
                                                                                                    "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                                                                                    "properties": {
                                                                                                        "name": {
                                                                                                            "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "value": {
                                                                                                            "description": "The header field value",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "name",
                                                                                                        "value"
                                                                                                    ],
                                                                                                    "type": "object"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "path": {
                                                                                                "description": "Path to access on the HTTP server.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            },
                                                                                            "scheme": {
                                                                                                "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "initialDelaySeconds": {
                                                                                        "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "periodSeconds": {
                                                                                        "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "successThreshold": {
                                                                                        "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "tcpSocket": {
                                                                                        "description": "TCPSocket specifies a connection to a TCP port.",
                                                                                        "properties": {
                                                                                            "host": {
                                                                                                "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "port": {
                                                                                                "anyOf": [
                                                                                                    {
                                                                                                        "type": "integer"
                                                                                                    },
                                                                                                    {
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                ],
                                                                                                "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
                                                                                                "x-kubernetes-int-or-string": true
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "port"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "terminationGracePeriodSeconds": {
                                                                                        "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.",
                                                                                        "format": "int64",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "timeoutSeconds": {
                                                                                        "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
                                                                                        "format": "int32",
                                                                                        "type": "integer"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "stdin": {
                                                                                "description": "Whether this Sidecar should allocate a buffer for stdin in the container runtime. If this\nis not set, reads from stdin in the Sidecar will always result in EOF.\nDefault is false.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "stdinOnce": {
                                                                                "description": "Whether the container runtime should close the stdin channel after it has been opened by\na single attach. When stdin is true the stdin stream will remain open across multiple attach\nsessions. If stdinOnce is set to true, stdin is opened on Sidecar start, is empty until the\nfirst client attaches to stdin, and then remains open and accepts data until the client disconnects,\nat which time stdin is closed and remains closed until the Sidecar is restarted. If this\nflag is false, a container processes that reads from stdin will never receive an EOF.\nDefault is false",
                                                                                "type": "boolean"
                                                                            },
                                                                            "terminationMessagePath": {
                                                                                "description": "Optional: Path at which the file to which the Sidecar's termination message\nwill be written is mounted into the Sidecar's filesystem.\nMessage written is intended to be brief final status, such as an assertion failure message.\nWill be truncated by the node if greater than 4096 bytes. The total message length across\nall containers will be limited to 12kb.\nDefaults to /dev/termination-log.\nCannot be updated.",
                                                                                "type": "string"
                                                                            },
                                                                            "terminationMessagePolicy": {
                                                                                "description": "Indicate how the termination message should be populated. File will use the contents of\nterminationMessagePath to populate the Sidecar status message on both success and failure.\nFallbackToLogsOnError will use the last chunk of Sidecar log output if the termination\nmessage file is empty and the Sidecar exited with an error.\nThe log output is limited to 2048 bytes or 80 lines, whichever is smaller.\nDefaults to File.\nCannot be updated.",
                                                                                "type": "string"
                                                                            },
                                                                            "tty": {
                                                                                "description": "Whether this Sidecar should allocate a TTY for itself, also requires 'stdin' to be true.\nDefault is false.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "volumeDevices": {
                                                                                "description": "volumeDevices is the list of block devices to be used by the Sidecar.",
                                                                                "items": {
                                                                                    "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                                                                    "properties": {
                                                                                        "devicePath": {
                                                                                            "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "name": {
                                                                                            "description": "name must match the name of a persistentVolumeClaim in the pod",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "devicePath",
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "volumeMounts": {
                                                                                "description": "Volumes to mount into the Sidecar's filesystem.\nCannot be updated.",
                                                                                "items": {
                                                                                    "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                                    "properties": {
                                                                                        "mountPath": {
                                                                                            "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mountPropagation": {
                                                                                            "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "name": {
                                                                                            "description": "This must match the Name of a Volume.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "readOnly": {
                                                                                            "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                                            "type": "boolean"
                                                                                        },
                                                                                        "recursiveReadOnly": {
                                                                                            "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "subPath": {
                                                                                            "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "subPathExpr": {
                                                                                            "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "mountPath",
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "workingDir": {
                                                                                "description": "Sidecar's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                                                "type": "string"
                                                                            },
                                                                            "workspaces": {
                                                                                "description": "This is an alpha field. You must set the \"enable-api-fields\" feature flag to \"alpha\"\nfor this field to be supported.\n\nWorkspaces is a list of workspaces from the Task that this Sidecar wants\nexclusive access to. Adding a workspace to this list means that any\nother Step or Sidecar that does not also request this Workspace will\nnot have access to it.",
                                                                                "items": {
                                                                                    "description": "WorkspaceUsage is used by a Step or Sidecar to declare that it wants isolated access\nto a Workspace defined in a Task.",
                                                                                    "properties": {
                                                                                        "mountPath": {
                                                                                            "description": "MountPath is the path that the workspace should be mounted to inside the Step or Sidecar,\noverriding any MountPath specified in the Task's WorkspaceDeclaration.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "name": {
                                                                                            "description": "Name is the name of the workspace this Step or Sidecar wants access to.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "mountPath",
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "stepTemplate": {
                                                                    "description": "StepTemplate can be used as the basis for all step containers within the\nTask, so that the steps inherit settings on the base container.",
                                                                    "properties": {
                                                                        "args": {
                                                                            "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Step's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "command": {
                                                                            "description": "Entrypoint array. Not executed within a shell.\nThe image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the Step's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "computeResources": {
                                                                            "description": "ComputeResources required by this Step.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                            "properties": {
                                                                                "claims": {
                                                                                    "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                    "items": {
                                                                                        "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                        "properties": {
                                                                                            "name": {
                                                                                                "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "request": {
                                                                                                "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "name"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "type": "array",
                                                                                    "x-kubernetes-list-map-keys": [
                                                                                        "name"
                                                                                    ],
                                                                                    "x-kubernetes-list-type": "map"
                                                                                },
                                                                                "limits": {
                                                                                    "additionalProperties": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                    "type": "object"
                                                                                },
                                                                                "requests": {
                                                                                    "additionalProperties": {
                                                                                        "anyOf": [
                                                                                            {
                                                                                                "type": "integer"
                                                                                            },
                                                                                            {
                                                                                                "type": "string"
                                                                                            }
                                                                                        ],
                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                        "x-kubernetes-int-or-string": true
                                                                                    },
                                                                                    "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "env": {
                                                                            "description": "List of environment variables to set in the Step.\nCannot be updated.",
                                                                            "items": {
                                                                                "description": "EnvVar represents an environment variable present in a Container.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "value": {
                                                                                        "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "valueFrom": {
                                                                                        "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                        "properties": {
                                                                                            "configMapKeyRef": {
                                                                                                "description": "Selects a key of a ConfigMap.",
                                                                                                "properties": {
                                                                                                    "key": {
                                                                                                        "description": "The key to select.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "name": {
                                                                                                        "default": "",
                                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "optional": {
                                                                                                        "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                        "type": "boolean"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "key"
                                                                                                ],
                                                                                                "type": "object",
                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                            },
                                                                                            "fieldRef": {
                                                                                                "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                                "properties": {
                                                                                                    "apiVersion": {
                                                                                                        "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "fieldPath": {
                                                                                                        "description": "Path of the field to select in the specified API version.",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "fieldPath"
                                                                                                ],
                                                                                                "type": "object",
                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                            },
                                                                                            "resourceFieldRef": {
                                                                                                "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                                "properties": {
                                                                                                    "containerName": {
                                                                                                        "description": "Container name: required for volumes, optional for env vars",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "divisor": {
                                                                                                        "anyOf": [
                                                                                                            {
                                                                                                                "type": "integer"
                                                                                                            },
                                                                                                            {
                                                                                                                "type": "string"
                                                                                                            }
                                                                                                        ],
                                                                                                        "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                        "x-kubernetes-int-or-string": true
                                                                                                    },
                                                                                                    "resource": {
                                                                                                        "description": "Required: resource to select",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "resource"
                                                                                                ],
                                                                                                "type": "object",
                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                            },
                                                                                            "secretKeyRef": {
                                                                                                "description": "Selects a key of a secret in the pod's namespace",
                                                                                                "properties": {
                                                                                                    "key": {
                                                                                                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "name": {
                                                                                                        "default": "",
                                                                                                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "optional": {
                                                                                                        "description": "Specify whether the Secret or its key must be defined",
                                                                                                        "type": "boolean"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "key"
                                                                                                ],
                                                                                                "type": "object",
                                                                                                "x-kubernetes-map-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "name"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "envFrom": {
                                                                            "description": "List of sources to populate environment variables in the Step.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the Step is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.",
                                                                            "items": {
                                                                                "description": "EnvFromSource represents the source of a set of ConfigMaps",
                                                                                "properties": {
                                                                                    "configMapRef": {
                                                                                        "description": "The ConfigMap to select from",
                                                                                        "properties": {
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the ConfigMap must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    },
                                                                                    "prefix": {
                                                                                        "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "secretRef": {
                                                                                        "description": "The Secret to select from",
                                                                                        "properties": {
                                                                                            "name": {
                                                                                                "default": "",
                                                                                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "optional": {
                                                                                                "description": "Specify whether the Secret must be defined",
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        },
                                                                                        "type": "object",
                                                                                        "x-kubernetes-map-type": "atomic"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "image": {
                                                                            "description": "Image reference name.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                                                            "type": "string"
                                                                        },
                                                                        "imagePullPolicy": {
                                                                            "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
                                                                            "type": "string"
                                                                        },
                                                                        "securityContext": {
                                                                            "description": "SecurityContext defines the security options the Step should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
                                                                            "properties": {
                                                                                "allowPrivilegeEscalation": {
                                                                                    "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "appArmorProfile": {
                                                                                    "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                    "properties": {
                                                                                        "localhostProfile": {
                                                                                            "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": {
                                                                                            "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "type"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "capabilities": {
                                                                                    "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                    "properties": {
                                                                                        "add": {
                                                                                            "description": "Added capabilities",
                                                                                            "items": {
                                                                                                "description": "Capability represent POSIX capabilities type",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        },
                                                                                        "drop": {
                                                                                            "description": "Removed capabilities",
                                                                                            "items": {
                                                                                                "description": "Capability represent POSIX capabilities type",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "privileged": {
                                                                                    "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "procMount": {
                                                                                    "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                    "type": "string"
                                                                                },
                                                                                "readOnlyRootFilesystem": {
                                                                                    "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "runAsGroup": {
                                                                                    "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                    "format": "int64",
                                                                                    "type": "integer"
                                                                                },
                                                                                "runAsNonRoot": {
                                                                                    "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                    "type": "boolean"
                                                                                },
                                                                                "runAsUser": {
                                                                                    "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                    "format": "int64",
                                                                                    "type": "integer"
                                                                                },
                                                                                "seLinuxOptions": {
                                                                                    "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                    "properties": {
                                                                                        "level": {
                                                                                            "description": "Level is SELinux level label that applies to the container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "role": {
                                                                                            "description": "Role is a SELinux role label that applies to the container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": {
                                                                                            "description": "Type is a SELinux type label that applies to the container.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "user": {
                                                                                            "description": "User is a SELinux user label that applies to the container.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "seccompProfile": {
                                                                                    "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                    "properties": {
                                                                                        "localhostProfile": {
                                                                                            "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "type": {
                                                                                            "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "type"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "windowsOptions": {
                                                                                    "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                                    "properties": {
                                                                                        "gmsaCredentialSpec": {
                                                                                            "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "gmsaCredentialSpecName": {
                                                                                            "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "hostProcess": {
                                                                                            "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                                            "type": "boolean"
                                                                                        },
                                                                                        "runAsUserName": {
                                                                                            "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        },
                                                                        "volumeDevices": {
                                                                            "description": "volumeDevices is the list of block devices to be used by the Step.",
                                                                            "items": {
                                                                                "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                                                                "properties": {
                                                                                    "devicePath": {
                                                                                        "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "name": {
                                                                                        "description": "name must match the name of a persistentVolumeClaim in the pod",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "devicePath",
                                                                                    "name"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "volumeMounts": {
                                                                            "description": "Volumes to mount into the Step's filesystem.\nCannot be updated.",
                                                                            "items": {
                                                                                "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                                "properties": {
                                                                                    "mountPath": {
                                                                                        "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "mountPropagation": {
                                                                                        "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "name": {
                                                                                        "description": "This must match the Name of a Volume.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "readOnly": {
                                                                                        "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "recursiveReadOnly": {
                                                                                        "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "subPath": {
                                                                                        "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "subPathExpr": {
                                                                                        "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "mountPath",
                                                                                    "name"
                                                                                ],
                                                                                "type": "object"
                                                                            },
                                                                            "type": "array",
                                                                            "x-kubernetes-list-type": "atomic"
                                                                        },
                                                                        "workingDir": {
                                                                            "description": "Step's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "steps": {
                                                                    "description": "Steps are the steps of the build; each step is run sequentially with the\nsource mounted into /workspace.",
                                                                    "items": {
                                                                        "description": "Step runs a subcomponent of a Task",
                                                                        "properties": {
                                                                            "args": {
                                                                                "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "command": {
                                                                                "description": "Entrypoint array. Not executed within a shell.\nThe image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "computeResources": {
                                                                                "description": "ComputeResources required by this Step.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                "properties": {
                                                                                    "claims": {
                                                                                        "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
                                                                                        "items": {
                                                                                            "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "request": {
                                                                                                    "description": "Request is the name chosen for a request in the referenced claim.\nIf empty, everything from the claim is made available, otherwise\nonly the result of this request.",
                                                                                                    "type": "string"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-map-keys": [
                                                                                            "name"
                                                                                        ],
                                                                                        "x-kubernetes-list-type": "map"
                                                                                    },
                                                                                    "limits": {
                                                                                        "additionalProperties": {
                                                                                            "anyOf": [
                                                                                                {
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            ],
                                                                                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                            "x-kubernetes-int-or-string": true
                                                                                        },
                                                                                        "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                        "type": "object"
                                                                                    },
                                                                                    "requests": {
                                                                                        "additionalProperties": {
                                                                                            "anyOf": [
                                                                                                {
                                                                                                    "type": "integer"
                                                                                                },
                                                                                                {
                                                                                                    "type": "string"
                                                                                                }
                                                                                            ],
                                                                                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                            "x-kubernetes-int-or-string": true
                                                                                        },
                                                                                        "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "env": {
                                                                                "description": "List of environment variables to set in the Step.\nCannot be updated.",
                                                                                "items": {
                                                                                    "description": "EnvVar represents an environment variable present in a Container.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "valueFrom": {
                                                                                            "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                                                                            "properties": {
                                                                                                "configMapKeyRef": {
                                                                                                    "description": "Selects a key of a ConfigMap.",
                                                                                                    "properties": {
                                                                                                        "key": {
                                                                                                            "description": "The key to select.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "name": {
                                                                                                            "default": "",
                                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "optional": {
                                                                                                            "description": "Specify whether the ConfigMap or its key must be defined",
                                                                                                            "type": "boolean"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "key"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "fieldRef": {
                                                                                                    "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
                                                                                                    "properties": {
                                                                                                        "apiVersion": {
                                                                                                            "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "fieldPath": {
                                                                                                            "description": "Path of the field to select in the specified API version.",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "fieldPath"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "resourceFieldRef": {
                                                                                                    "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
                                                                                                    "properties": {
                                                                                                        "containerName": {
                                                                                                            "description": "Container name: required for volumes, optional for env vars",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "divisor": {
                                                                                                            "anyOf": [
                                                                                                                {
                                                                                                                    "type": "integer"
                                                                                                                },
                                                                                                                {
                                                                                                                    "type": "string"
                                                                                                                }
                                                                                                            ],
                                                                                                            "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                                                                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                                                                            "x-kubernetes-int-or-string": true
                                                                                                        },
                                                                                                        "resource": {
                                                                                                            "description": "Required: resource to select",
                                                                                                            "type": "string"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "resource"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                },
                                                                                                "secretKeyRef": {
                                                                                                    "description": "Selects a key of a secret in the pod's namespace",
                                                                                                    "properties": {
                                                                                                        "key": {
                                                                                                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "name": {
                                                                                                            "default": "",
                                                                                                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                            "type": "string"
                                                                                                        },
                                                                                                        "optional": {
                                                                                                            "description": "Specify whether the Secret or its key must be defined",
                                                                                                            "type": "boolean"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "key"
                                                                                                    ],
                                                                                                    "type": "object",
                                                                                                    "x-kubernetes-map-type": "atomic"
                                                                                                }
                                                                                            },
                                                                                            "type": "object"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "envFrom": {
                                                                                "description": "List of sources to populate environment variables in the Step.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the Step is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.",
                                                                                "items": {
                                                                                    "description": "EnvFromSource represents the source of a set of ConfigMaps",
                                                                                    "properties": {
                                                                                        "configMapRef": {
                                                                                            "description": "The ConfigMap to select from",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the ConfigMap must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        },
                                                                                        "prefix": {
                                                                                            "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "secretRef": {
                                                                                            "description": "The Secret to select from",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "default": "",
                                                                                                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "optional": {
                                                                                                    "description": "Specify whether the Secret must be defined",
                                                                                                    "type": "boolean"
                                                                                                }
                                                                                            },
                                                                                            "type": "object",
                                                                                            "x-kubernetes-map-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "image": {
                                                                                "description": "Docker image name.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                                                                "type": "string"
                                                                            },
                                                                            "imagePullPolicy": {
                                                                                "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name of the Step specified as a DNS_LABEL.\nEach Step in a Task must have a unique name.",
                                                                                "type": "string"
                                                                            },
                                                                            "onError": {
                                                                                "description": "OnError defines the exiting behavior of a container on error\ncan be set to [ continue | stopAndFail ]",
                                                                                "type": "string"
                                                                            },
                                                                            "params": {
                                                                                "description": "Params declares parameters passed to this step action.",
                                                                                "items": {
                                                                                    "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                    "properties": {
                                                                                        "name": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "value": {
                                                                                            "x-kubernetes-preserve-unknown-fields": true
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name",
                                                                                        "value"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "ref": {
                                                                                "description": "Contains the reference to an existing StepAction.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "description": "Name of the referenced step",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "params": {
                                                                                        "description": "Params contains the parameters used to identify the\nreferenced Tekton resource. Example entries might include\n\"repo\" or \"path\" but the set of params ultimately depends on\nthe chosen resolver.",
                                                                                        "items": {
                                                                                            "description": "Param declares an ParamValues to use for the parameter called name.",
                                                                                            "properties": {
                                                                                                "name": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "value": {
                                                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "name",
                                                                                                "value"
                                                                                            ],
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": "array",
                                                                                        "x-kubernetes-list-type": "atomic"
                                                                                    },
                                                                                    "resolver": {
                                                                                        "description": "Resolver is the name of the resolver that should perform\nresolution of the referenced Tekton resource, such as \"git\".",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "results": {
                                                                                "description": "Results declares StepResults produced by the Step.\n\nIt can be used in an inlined Step when used to store Results to $(step.results.resultName.path).\nIt cannot be used when referencing StepActions using [v1.Step.Ref].\nThe Results declared by the StepActions will be stored here instead.",
                                                                                "items": {
                                                                                    "description": "StepResult used to describe the Results of a Step.",
                                                                                    "properties": {
                                                                                        "description": {
                                                                                            "description": "Description is a human-readable description of the result",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "name": {
                                                                                            "description": "Name the given name",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "properties": {
                                                                                            "additionalProperties": {
                                                                                                "description": "PropertySpec defines the struct for object keys",
                                                                                                "properties": {
                                                                                                    "type": {
                                                                                                        "description": "ParamType indicates the type of an input parameter;\nUsed to distinguish between a single string and an array of strings.",
                                                                                                        "type": "string"
                                                                                                    }
                                                                                                },
                                                                                                "type": "object"
                                                                                            },
                                                                                            "description": "Properties is the JSON Schema properties to support key-value pairs results.",
                                                                                            "type": "object"
                                                                                        },
                                                                                        "type": {
                                                                                            "description": "The possible types are 'string', 'array', and 'object', with 'string' as the default.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "script": {
                                                                                "description": "Script is the contents of an executable file to execute.\n\nIf Script is not empty, the Step cannot have an Command and the Args will be passed to the Script.",
                                                                                "type": "string"
                                                                            },
                                                                            "securityContext": {
                                                                                "description": "SecurityContext defines the security options the Step should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
                                                                                "properties": {
                                                                                    "allowPrivilegeEscalation": {
                                                                                        "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "appArmorProfile": {
                                                                                        "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "properties": {
                                                                                            "localhostProfile": {
                                                                                                "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": {
                                                                                                "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "type"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "capabilities": {
                                                                                        "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "properties": {
                                                                                            "add": {
                                                                                                "description": "Added capabilities",
                                                                                                "items": {
                                                                                                    "description": "Capability represent POSIX capabilities type",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            },
                                                                                            "drop": {
                                                                                                "description": "Removed capabilities",
                                                                                                "items": {
                                                                                                    "description": "Capability represent POSIX capabilities type",
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "type": "array",
                                                                                                "x-kubernetes-list-type": "atomic"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "privileged": {
                                                                                        "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "procMount": {
                                                                                        "description": "procMount denotes the type of proc mount to use for the containers.\nThe default value is Default which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "readOnlyRootFilesystem": {
                                                                                        "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "runAsGroup": {
                                                                                        "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "format": "int64",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "runAsNonRoot": {
                                                                                        "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                        "type": "boolean"
                                                                                    },
                                                                                    "runAsUser": {
                                                                                        "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "format": "int64",
                                                                                        "type": "integer"
                                                                                    },
                                                                                    "seLinuxOptions": {
                                                                                        "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "properties": {
                                                                                            "level": {
                                                                                                "description": "Level is SELinux level label that applies to the container.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "role": {
                                                                                                "description": "Role is a SELinux role label that applies to the container.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": {
                                                                                                "description": "Type is a SELinux type label that applies to the container.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "user": {
                                                                                                "description": "User is a SELinux user label that applies to the container.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    },
                                                                                    "seccompProfile": {
                                                                                        "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod \u0026 container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
                                                                                        "properties": {
                                                                                            "localhostProfile": {
                                                                                                "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": {
                                                                                                "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "required": [
                                                                                            "type"
                                                                                        ],
                                                                                        "type": "object"
                                                                                    },
                                                                                    "windowsOptions": {
                                                                                        "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.",
                                                                                        "properties": {
                                                                                            "gmsaCredentialSpec": {
                                                                                                "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "gmsaCredentialSpecName": {
                                                                                                "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                                                                                "type": "string"
                                                                                            },
                                                                                            "hostProcess": {
                                                                                                "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.",
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "runAsUserName": {
                                                                                                "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
                                                                                                "type": "string"
                                                                                            }
                                                                                        },
                                                                                        "type": "object"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "stderrConfig": {
                                                                                "description": "Stores configuration for the stderr stream of the step.",
                                                                                "properties": {
                                                                                    "path": {
                                                                                        "description": "Path to duplicate stdout stream to on container's local filesystem.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "stdoutConfig": {
                                                                                "description": "Stores configuration for the stdout stream of the step.",
                                                                                "properties": {
                                                                                    "path": {
                                                                                        "description": "Path to duplicate stdout stream to on container's local filesystem.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object"
                                                                            },
                                                                            "timeout": {
                                                                                "description": "Timeout is the time after which the step times out. Defaults to never.\nRefer to Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration",
                                                                                "type": "string"
                                                                            },
                                                                            "volumeDevices": {
                                                                                "description": "volumeDevices is the list of block devices to be used by the Step.",
                                                                                "items": {
                                                                                    "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                                                                    "properties": {
                                                                                        "devicePath": {
                                                                                            "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "name": {
                                                                                            "description": "name must match the name of a persistentVolumeClaim in the pod",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "devicePath",
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "volumeMounts": {
                                                                                "description": "Volumes to mount into the Step's filesystem.\nCannot be updated.",
                                                                                "items": {
                                                                                    "description": "VolumeMount describes a mounting of a Volume within a container.",
                                                                                    "properties": {
                                                                                        "mountPath": {
                                                                                            "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "mountPropagation": {
                                                                                            "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "name": {
                                                                                            "description": "This must match the Name of a Volume.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "readOnly": {
                                                                                            "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                                                                            "type": "boolean"
                                                                                        },
                                                                                        "recursiveReadOnly": {
                                                                                            "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only.  If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime.  If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "subPath": {
                                                                                            "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "subPathExpr": {
                                                                                            "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "mountPath",
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            },
                                                                            "when": {
                                                                                "description": "When is a list of when expressions that need to be true for the task to run",
                                                                                "items": {
                                                                                    "description": "WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run\nto determine whether the Task should be executed or skipped",
                                                                                    "properties": {
                                                                                        "cel": {
                                                                                            "description": "CEL is a string of Common Language Expression, which can be used to conditionally execute\nthe task based on the result of the expression evaluation\nMore info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.md",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "input": {
                                                                                            "description": "Input is the string for guard checking which can be a static input or an output from a parent Task",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "operator": {
                                                                                            "description": "Operator that represents an Input's relationship to the values",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "values": {
                                                                                            "description": "Values is an array of strings, which is compared against the input, for guard checking\nIt must be non-empty",
                                                                                            "items": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "type": "array",
                                                                                            "x-kubernetes-list-type": "atomic"
                                                                                        }
                                                                                    },
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array"
                                                                            },
                                                                            "workingDir": {
                                                                                "description": "Step's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
                                                                                "type": "string"
                                                                            },
                                                                            "workspaces": {
                                                                                "description": "This is an alpha field. You must set the \"enable-api-fields\" feature flag to \"alpha\"\nfor this field to be supported.\n\nWorkspaces is a list of workspaces from the Task that this Step wants\nexclusive access to. Adding a workspace to this list means that any\nother Step or Sidecar that does not also request this Workspace will\nnot have access to it.",
                                                                                "items": {
                                                                                    "description": "WorkspaceUsage is used by a Step or Sidecar to declare that it wants isolated access\nto a Workspace defined in a Task.",
                                                                                    "properties": {
                                                                                        "mountPath": {
                                                                                            "description": "MountPath is the path that the workspace should be mounted to inside the Step or Sidecar,\noverriding any MountPath specified in the Task's WorkspaceDeclaration.",
                                                                                            "type": "string"
                                                                                        },
                                                                                        "name": {
                                                                                            "description": "Name is the name of the workspace this Step or Sidecar wants access to.",
                                                                                            "type": "string"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "mountPath",
                                                                                        "name"
                                                                                    ],
                                                                                    "type": "object"
                                                                                },
                                                                                "type": "array",
                                                                                "x-kubernetes-list-type": "atomic"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                },
                                                                "volumes": {
                                                                    "description": "Volumes is a collection of volumes that are available to mount into the\nsteps of the build.\nSee Pod.spec.volumes (API version: v1)",
                                                                    "x-kubernetes-preserve-unknown-fields": true
                                                                },
                                                                "workspaces": {
                                                                    "description": "Workspaces are the volumes that this Task requires.",
                                                                    "items": {
                                                                        "description": "WorkspaceDeclaration is a declaration of a volume that a Task requires.",
                                                                        "properties": {
                                                                            "description": {
                                                                                "description": "Description is an optional human readable description of this volume.",
                                                                                "type": "string"
                                                                            },
                                                                            "mountPath": {
                                                                                "description": "MountPath overrides the directory that the volume will be made available at.",
                                                                                "type": "string"
                                                                            },
                                                                            "name": {
                                                                                "description": "Name is the name by which you can bind the volume at runtime.",
                                                                                "type": "string"
                                                                            },
                                                                            "optional": {
                                                                                "description": "Optional marks a Workspace as not being required in TaskRuns. By default\nthis field is false and so declared workspaces are required.",
                                                                                "type": "boolean"
                                                                            },
                                                                            "readOnly": {
                                                                                "description": "ReadOnly dictates whether a mounted volume is writable. By default this\nfield is false and so mounted volumes are writable.",
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "name"
                                                                        ],
                                                                        "type": "object"
                                                                    },
                                                                    "type": "array",
                                                                    "x-kubernetes-list-type": "atomic"
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    },
                                                    "required": [
                                                        "podName"
                                                    ],
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "verificationpolicies.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "group": "tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-pipelines"
                                ],
                                "kind": "VerificationPolicy",
                                "plural": "verificationpolicies",
                                "singular": "verificationpolicy"
                            },
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "description": "VerificationPolicy defines the rules to verify Tekton resources.\nVerificationPolicy can config the mapping from resources to a list of public\nkeys, so when verifying the resources we can use the corresponding public keys.",
                                            "properties": {
                                                "apiVersion": {
                                                    "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                                    "type": "string"
                                                },
                                                "kind": {
                                                    "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                                    "type": "string"
                                                },
                                                "metadata": {
                                                    "type": "object"
                                                },
                                                "spec": {
                                                    "description": "Spec holds the desired state of the VerificationPolicy.",
                                                    "properties": {
                                                        "authorities": {
                                                            "description": "Authorities defines the rules for validating signatures.",
                                                            "items": {
                                                                "description": "The Authority block defines the keys for validating signatures.",
                                                                "properties": {
                                                                    "key": {
                                                                        "description": "Key contains the public key to validate the resource.",
                                                                        "properties": {
                                                                            "data": {
                                                                                "description": "Data contains the inline public key.",
                                                                                "type": "string"
                                                                            },
                                                                            "hashAlgorithm": {
                                                                                "description": "HashAlgorithm always defaults to sha256 if the algorithm hasn't been explicitly set",
                                                                                "type": "string"
                                                                            },
                                                                            "kms": {
                                                                                "description": "KMS contains the KMS url of the public key\nSupported formats differ based on the KMS system used.\nOne example of a KMS url could be:\ngcpkms://projects/[PROJECT]/locations/[LOCATION]\u003e/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[KEY_VERSION]\nFor more examples please refer https://docs.sigstore.dev/cosign/kms_support.\nNote that the KMS is not supported yet.",
                                                                                "type": "string"
                                                                            },
                                                                            "secretRef": {
                                                                                "description": "SecretRef sets a reference to a secret with the key.",
                                                                                "properties": {
                                                                                    "name": {
                                                                                        "description": "name is unique within a namespace to reference a secret resource.",
                                                                                        "type": "string"
                                                                                    },
                                                                                    "namespace": {
                                                                                        "description": "namespace defines the space within which the secret name must be unique.",
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "type": "object",
                                                                                "x-kubernetes-map-type": "atomic"
                                                                            }
                                                                        },
                                                                        "type": "object"
                                                                    },
                                                                    "name": {
                                                                        "description": "Name is the name for this authority.",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        },
                                                        "mode": {
                                                            "description": "Mode controls whether a failing policy will fail the taskrun/pipelinerun, or only log the warnings\nenforce - fail the taskrun/pipelinerun if verification fails (default)\nwarn - don't fail the taskrun/pipelinerun if verification fails but log warnings",
                                                            "type": "string"
                                                        },
                                                        "resources": {
                                                            "description": "Resources defines the patterns of resources sources that should be subject to this policy.\nFor example, we may want to apply this Policy from a certain GitHub repo.\nThen the ResourcesPattern should be valid regex. E.g. If using gitresolver, and we want to config keys from a certain git repo.\n`ResourcesPattern` can be `https://github.com/tektoncd/catalog.git`, we will use regex to filter out those resources.",
                                                            "items": {
                                                                "description": "ResourcePattern defines the pattern of the resource source",
                                                                "properties": {
                                                                    "pattern": {
                                                                        "description": "Pattern defines a resource pattern. Regex is created to filter resources based on `Pattern`\nExample patterns:\nGitHub resource: https://github.com/tektoncd/catalog.git, https://github.com/tektoncd/*\nBundle resource: gcr.io/tekton-releases/catalog/upstream/git-clone, gcr.io/tekton-releases/catalog/upstream/*\nHub resource: https://artifacthub.io/*,",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "pattern"
                                                                ],
                                                                "type": "object"
                                                            },
                                                            "type": "array"
                                                        }
                                                    },
                                                    "required": [
                                                        "authorities",
                                                        "resources"
                                                    ],
                                                    "type": "object"
                                                }
                                            },
                                            "required": [
                                                "spec"
                                            ],
                                            "type": "object"
                                        }
                                    },
                                    "served": true,
                                    "storage": true
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Secret",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2"
                            },
                            "name": "webhook-certs",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "ValidatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2"
                            },
                            "name": "validation.webhook.pipeline.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-pipelines-webhook",
                                        "namespace": "openshift-pipelines"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "validation.webhook.pipeline.tekton.dev",
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "MutatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2"
                            },
                            "name": "webhook.pipeline.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-pipelines-webhook",
                                        "namespace": "openshift-pipelines"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "webhook.pipeline.tekton.dev",
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "ValidatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2"
                            },
                            "name": "config.webhook.pipeline.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-pipelines-webhook",
                                        "namespace": "openshift-pipelines"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "config.webhook.pipeline.tekton.dev",
                                "objectSelector": {
                                    "matchLabels": {
                                        "app.kubernetes.io/part-of": "tekton-pipelines"
                                    }
                                },
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "rbac.authorization.k8s.io/aggregate-to-admin": "true",
                                "rbac.authorization.k8s.io/aggregate-to-edit": "true"
                            },
                            "name": "tekton-aggregate-edit",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks",
                                    "taskruns",
                                    "pipelines",
                                    "pipelineruns",
                                    "runs",
                                    "customruns",
                                    "stepactions"
                                ],
                                "verbs": [
                                    "create",
                                    "delete",
                                    "deletecollection",
                                    "get",
                                    "list",
                                    "patch",
                                    "update",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "rbac.authorization.k8s.io/aggregate-to-view": "true"
                            },
                            "name": "tekton-aggregate-view",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks",
                                    "taskruns",
                                    "pipelines",
                                    "pipelineruns",
                                    "runs",
                                    "customruns",
                                    "stepactions"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# default-timeout-minutes contains the default number of\n# minutes to use for TaskRun and PipelineRun, if none is specified.\ndefault-timeout-minutes: \"60\"  # 60 minutes\n\n# default-service-account contains the default service account name\n# to use for TaskRun and PipelineRun, if none is specified.\ndefault-service-account: \"default\"\n\n# default-managed-by-label-value contains the default value given to the\n# \"app.kubernetes.io/managed-by\" label applied to all Pods created for\n# TaskRuns. If a user's requested TaskRun specifies another value for this\n# label, the user's request supercedes.\ndefault-managed-by-label-value: \"tekton-pipelines\"\n\n# default-pod-template contains the default pod template to use for\n# TaskRun and PipelineRun. If a pod template is specified on the\n# PipelineRun, the default-pod-template is merged with that one.\n# default-pod-template:\n\n# default-affinity-assistant-pod-template contains the default pod template\n# to use for affinity assistant pods. If a pod template is specified on the\n# PipelineRun, the default-affinity-assistant-pod-template is merged with\n# that one.\n# default-affinity-assistant-pod-template:\n\n# default-cloud-events-sink contains the default CloudEvents sink to be\n# used for TaskRun and PipelineRun, when no sink is specified.\n# Note that right now it is still not possible to set a PipelineRun or\n# TaskRun specific sink, so the default is the only option available.\n# If no sink is specified, no CloudEvent is generated\n# default-cloud-events-sink:\n\n# default-task-run-workspace-binding contains the default workspace\n# configuration provided for any Workspaces that a Task declares\n# but that a TaskRun does not explicitly provide.\n# default-task-run-workspace-binding: |\n#   emptyDir: {}\n\n# default-max-matrix-combinations-count contains the default maximum number\n# of combinations from a Matrix, if none is specified.\ndefault-max-matrix-combinations-count: \"256\"\n\n# default-forbidden-env contains comma seperated environment variables that cannot be\n# overridden by podTemplate.\ndefault-forbidden-env:\n\n# default-resolver-type contains the default resolver type to be used in the cluster,\n# no default-resolver-type is specified by default\ndefault-resolver-type:\n\n# default-imagepullbackoff-timeout contains the default duration to wait\n# before requeuing the TaskRun to retry, specifying 0 here is equivalent to fail fast\n# possible values could be 1m, 5m, 10s, 1h, etc\n# default-imagepullbackoff-timeout: \"5m\"\n\n# default-maximum-resolution-timeout specifies the default duration used by the\n# resolution controller before timing out when exceeded.\n# Possible values include \"1m\", \"5m\", \"10s\", \"1h\", etc.\n# Example: default-maximum-resolution-timeout: \"1m\"\n\n# default-container-resource-requirements allow users to update default resource requirements\n# to a init-containers and containers of a pods create by the controller\n# Onet: All the resource requirements are applied to init-containers and containers\n# only if the existing resource requirements are empty.\n# default-container-resource-requirements: |\n#   place-scripts: # updates resource requirements of a 'place-scripts' container\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"128Mi\"\n#       cpu: \"500m\"\n#\n#   prepare: # updates resource requirements of a 'prepare' container\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"256Mi\"\n#       cpu: \"500m\"\n#\n#   working-dir-initializer: # updates resource requirements of a 'working-dir-initializer' container\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"512Mi\"\n#       cpu: \"500m\"\n#\n#   prefix-scripts: # updates resource requirements of containers which starts with 'scripts-'\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"128Mi\"\n#       cpu: \"500m\"\n#\n#   prefix-sidecar-scripts: # updates resource requirements of containers which starts with 'sidecar-scripts-'\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"128Mi\"\n#       cpu: \"500m\"\n#\n#   default: # updates resource requirements of init-containers and containers which has empty resource resource requirements\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"256Mi\"\n#       cpu: \"500m\"\n\n# default-sidecar-log-polling-interval specifies the polling interval for the Tekton sidecar log results container.\n# This controls how frequently the sidecar checks for step completion files written by steps in a TaskRun.\n# Lower values (e.g., \"10ms\") make the sidecar more responsive but may increase CPU usage; higher values (e.g., \"1s\")\n# reduce resource usage but may delay result collection.\n# This value is used by the sidecar-tekton-log-results container and can be tuned for performance or test scenarios.\n# Example values: \"100ms\", \"500ms\", \"1s\"\ndefault-sidecar-log-polling-interval: \"100ms\"\n",
                            "default-service-account": "pipeline"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-defaults",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# formats contains a comma seperated list of event formats to be used\n# the only format supported today is \"tektonv1\". An empty string is not\n# a valid configuration. To disable events, do not specify the sink.\nformats: \"tektonv1\"\n\n# sink contains the event sink to be used for TaskRun, PipelineRun and\n# CustomRun. If no sink is specified, no CloudEvent is generated.\n# This setting supercedes the \"default-cloud-events-sink\" from the\n# \"config-defaults\" config map\nsink: \"https://events.sink/cdevents\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-events",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "await-sidecar-readiness": "true",
                            "coschedule": "workspaces",
                            "disable-affinity-assistant": "true",
                            "disable-creds-init": "false",
                            "disable-inline-spec": "",
                            "enable-api-fields": "beta",
                            "enable-artifacts": "false",
                            "enable-cel-in-whenexpression": "false",
                            "enable-concise-resolver-syntax": "false",
                            "enable-custom-tasks": "true",
                            "enable-kubernetes-sidecar": "false",
                            "enable-param-enum": "false",
                            "enable-provenance-in-status": "true",
                            "enable-step-actions": "true",
                            "enable-tekton-oci-bundles": "false",
                            "enable-wait-exponential-backoff": "false",
                            "enforce-nonfalsifiability": "none",
                            "keep-pod-on-cancel": "false",
                            "max-result-size": "4096",
                            "performance": "performanceleaderelectionconfig:\n    buckets: null\nperformancestatefulsetordinalsconfig:\n    statefulsetordinals: null\ndeploymentperformanceargs:\n    disableha: false\n    threadspercontroller: null\n    kubeapiqps: null\n    kubeapiburst: null\nreplicas: null\n",
                            "require-git-ssh-secret-known-hosts": "false",
                            "results-from": "termination-message",
                            "running-in-environment-with-injected-sidecars": "true",
                            "send-cloudevents-for-runs": "false",
                            "set-security-context": "false",
                            "set-security-context-read-only-root-filesystem": "false",
                            "trusted-resources-verification-no-match-policy": "ignore"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "feature-flags",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "version": "v1.3.2"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "pipelines-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-leader-election-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-leader-election-events",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-leader-election-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "loglevel.controller": "info",
                            "loglevel.webhook": "info",
                            "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"sampling\": {\n    \"initial\": 100,\n    \"thereafter\": 100\n  },\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"timestamp\",\n    \"levelKey\": \"severity\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"message\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-logging",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using Stackdriver will incur additional charges.\nmetrics.backend-destination: prometheus\n\n# metrics.stackdriver-project-id field specifies the Stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used and metrics will be sent to the cluster's project if this field is\n# not provided.\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed\n# to send metrics to Stackdriver using \"global\" resource type and custom\n# metric type. Setting this flag to \"true\" could cause extra Stackdriver\n# charge.  If metrics.backend-destination is not Stackdriver, this is\n# ignored.\nmetrics.allow-stackdriver-custom-metrics: \"false\"\nmetrics.taskrun.level: \"task\"\nmetrics.taskrun.duration-type: \"histogram\"\nmetrics.pipelinerun.level: \"pipeline\"\nmetrics.pipelinerun.duration-type: \"histogram\"\nmetrics.count.enable-reason: \"false\"\nmetrics.running-pipelinerun.level: \"\"\n",
                            "metrics.count.enable-reason": "false",
                            "metrics.pipelinerun.duration-type": "histogram",
                            "metrics.pipelinerun.level": "pipeline",
                            "metrics.taskrun.duration-type": "histogram",
                            "metrics.taskrun.level": "task"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-observability",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-registry-cert",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n#\n# spire-trust-domain specifies the SPIRE trust domain to use.\n# spire-trust-domain: \"example.org\"\n#\n# spire-socket-path specifies the SPIRE agent socket for SPIFFE workload API.\n# spire-socket-path: \"unix:///spiffe-workload-api/spire-agent.sock\"\n#\n# spire-server-addr specifies the SPIRE server address for workload/node registration.\n# spire-server-addr: \"spire-server.spire.svc.cluster.local:8081\"\n#\n# spire-node-alias-prefix specifies the SPIRE node alias prefix to use.\n# spire-node-alias-prefix: \"/tekton-node/\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-spire",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n#\n# Enable sending traces to defined endpoint by setting this to true\nenabled: \"true\"\n#\n# API endpoint to send the traces to\n# (optional): The default value is given below\nendpoint: \"http://jaeger-collector.jaeger.svc.cluster.local:14268/api/traces\"\n# (optional) Name of the k8s secret which contains basic auth credentials\ncredentialsSecret: \"jaeger-creds\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-tracing",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "cap": "60s",
                            "duration": "10s",
                            "factor": "2.0",
                            "jitter": "0.0",
                            "steps": "5"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-wait-exponential-backoff",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-resolvers-resolution-request-updates",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "resolution.tekton.dev"
                                ],
                                "resources": [
                                    "resolutionrequests",
                                    "resolutionrequests/status"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch",
                                    "update",
                                    "patch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks",
                                    "pipelines",
                                    "stepactions"
                                ],
                                "verbs": [
                                    "get",
                                    "list"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "secrets",
                                    "serviceaccounts"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-resolvers-namespace-rbac",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps",
                                    "secrets"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "update",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "coordination.k8s.io"
                                ],
                                "resources": [
                                    "leases"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-resolvers",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-pipelines-resolvers",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-pipelines-resolvers-resolution-request-updates"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-pipelines-resolvers",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "default-kind": "task",
                            "default-service-account": "default"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "bundleresolver-config",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "allowed-namespaces": "",
                            "blocked-namespaces": "",
                            "default-kind": "task",
                            "default-namespace": ""
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "cluster-resolver-config",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "enable-bundles-resolver": "true",
                            "enable-cluster-resolver": "true",
                            "enable-git-resolver": "true",
                            "enable-hub-resolver": "true"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "resolvers-feature-flags",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-leader-election-resolvers",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "loglevel.controller": "info",
                            "loglevel.webhook": "info",
                            "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"sampling\": {\n    \"initial\": 100,\n    \"thereafter\": 100\n  },\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"timestamp\",\n    \"levelKey\": \"severity\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"message\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-logging",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using stackdriver will incur additional charges\nmetrics.backend-destination: prometheus\n\n# metrics.request-metrics-backend-destination specifies the request metrics\n# destination. If non-empty, it enables queue proxy to send request metrics.\n# Currently supported values: prometheus, stackdriver.\nmetrics.request-metrics-backend-destination: prometheus\n\n# metrics.stackdriver-project-id field specifies the stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used if this field is not provided.\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed to send metrics to\n# Stackdriver using \"global\" resource type and custom metric type if the\n# metrics are not supported by \"knative_revision\" resource type. Setting this\n# flag to \"true\" could cause extra Stackdriver charge.\n# If metrics.backend-destination is not Stackdriver, this is ignored.\nmetrics.allow-stackdriver-custom-metrics: \"false\"\n",
                            "metrics.count.enable-reason": "false",
                            "metrics.pipelinerun.duration-type": "histogram",
                            "metrics.pipelinerun.level": "pipeline",
                            "metrics.taskrun.duration-type": "histogram",
                            "metrics.taskrun.level": "task"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "config-observability",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "api-token-secret-key": "",
                            "api-token-secret-name": "",
                            "api-token-secret-namespace": "default",
                            "default-org": "",
                            "default-revision": "main",
                            "default-url": "https://github.com/tektoncd/catalog.git",
                            "fetch-timeout": "1m",
                            "scm-type": "github",
                            "server-url": ""
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "git-resolver-config",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "fetch-timeout": "1m"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "http-resolver-config",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "default-artifact-hub-pipeline-catalog": "tekton-catalog-pipelines",
                            "default-artifact-hub-task-catalog": "tekton-catalog-tasks",
                            "default-kind": "task",
                            "default-tekton-hub-catalog": "Tekton",
                            "default-type": "artifact"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "hubresolver-config",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "autoscaling/v2",
                        "kind": "HorizontalPodAutoscaler",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "webhook",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "app.kubernetes.io/version": "v1.3.2",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "pipeline.tekton.dev/release": "v1.3.2",
                                "version": "v1.3.2"
                            },
                            "name": "tekton-pipelines-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "maxReplicas": 5,
                            "metrics": [
                                {
                                    "resource": {
                                        "name": "cpu",
                                        "target": {
                                            "averageUtilization": 100,
                                            "type": "Utilization"
                                        }
                                    },
                                    "type": "Resource"
                                }
                            ],
                            "minReplicas": 1,
                            "scaleTargetRef": {
                                "apiVersion": "apps/v1",
                                "kind": "Deployment",
                                "name": "tekton-pipelines-webhook"
                            }
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "pipelines-scc-role",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "security.openshift.io"
                                ],
                                "resourceNames": [
                                    "nonroot"
                                ],
                                "resources": [
                                    "securitycontextconstraints"
                                ],
                                "verbs": [
                                    "use"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "openshift-pipelines-permission",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "pipelines-scc-role"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-pipelines-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "rbac.authorization.k8s.io/aggregate-to-view": "true"
                            },
                            "name": "tekton-clustertasks-view-role",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "clustertasks"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-clustertasks-view-rolebinding-all-users",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-clustertasks-view-role"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-operators-proxy-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-operators-proxy-admin",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "pods",
                                    "configmaps",
                                    "services",
                                    "events",
                                    "namespaces"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "apps"
                                ],
                                "resources": [
                                    "deployments",
                                    "deployments/finalizers"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "admissionregistration.k8s.io"
                                ],
                                "resources": [
                                    "mutatingwebhookconfigurations",
                                    "validatingwebhookconfigurations"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "coordination.k8s.io"
                                ],
                                "resources": [
                                    "leases"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "security.openshift.io"
                                ],
                                "resources": [
                                    "securitycontextconstraints"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-operators-proxy-admin",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "tekton-operators-proxy-webhook-admin",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-operators-proxy-admin"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-operators-proxy-webhook",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Secret",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "proxy-webhook-certs",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "MutatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "proxy.operator.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1",
                                    "v1beta1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-operator-proxy-webhook",
                                        "namespace": "openshift-pipelines"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "proxy.operator.tekton.dev",
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "MutatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "annotation.operator.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1",
                                    "v1beta1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-operator-proxy-webhook",
                                        "namespace": "openshift-pipelines"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "annotation.operator.tekton.dev",
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "ValidatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                            },
                            "name": "namespace.operator.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1",
                                    "v1beta1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-operator-proxy-webhook",
                                        "namespace": "openshift-pipelines"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "namespace.operator.tekton.dev",
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "operator.tekton.dev/release": "devel"
                            },
                            "name": "tekton-operator-proxy-webhook-config-leader-election",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "autoscaling/v2",
                        "kind": "HorizontalPodAutoscaler",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                                "operator.tekton.dev/release": "devel",
                                "version": "devel"
                            },
                            "name": "tekton-operator-proxy-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "maxReplicas": 5,
                            "metrics": [
                                {
                                    "resource": {
                                        "name": "cpu",
                                        "target": {
                                            "averageUtilization": 85,
                                            "type": "Utilization"
                                        }
                                    },
                                    "type": "Resource"
                                }
                            ],
                            "minReplicas": 1,
                            "scaleTargetRef": {
                                "apiVersion": "apps/v1",
                                "kind": "Deployment",
                                "name": "tekton-operator-proxy-webhook"
                            }
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            },
                            "name": "tekton-pipelines-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-pipelines-controller"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-pipelines-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            },
                            "name": "tekton-pipelines-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-pipelines-webhook"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-pipelines-webhook",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            },
                            "name": "tekton-pipelines-controller-leaderelection",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-pipelines-leader-election"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-pipelines-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            },
                            "name": "tekton-pipelines-webhook-leaderelection",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-pipelines-leader-election"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-pipelines-webhook",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            },
                            "name": "tekton-pipelines-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-pipelines-info"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "events",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            },
                            "name": "tekton-pipelines-events-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-pipelines-events-controller"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-events-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "events",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            },
                            "name": "tekton-events-controller-leaderelection",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-pipelines-leader-election"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-events-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "resolvers",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines"
                            },
                            "name": "tekton-pipelines-resolvers-namespace-rbac",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-pipelines-resolvers-namespace-rbac"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-pipelines-resolvers",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "name": "tekton-operators-proxy-webhook-admin",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-operators-proxy-admin"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-operators-proxy-webhook",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:12:53Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:49Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:53Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:48Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:53Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:53Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:53Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:53Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:53Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:53Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "c64efbe38a79e8ea4853ae628e9f022fbc7f51dc4c077c91210d28d7e799c263",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:13:11Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "pipeline-post-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonPipeline",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "post"
                },
                "name": "pipeline-post-94dtt",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonPipeline",
                        "name": "pipeline",
                        "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                    }
                ],
                "resourceVersion": "20920",
                "uid": "5f98634f-17a6-48aa-84c5-1a1c884c91e1"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "name": "openshift-pipelines-read",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "services",
                                    "endpoints",
                                    "pods"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "monitoring.coreos.com/v1",
                        "kind": "ServiceMonitor",
                        "metadata": {
                            "annotations": {
                                "networkoperator.openshift.io/ignore-errors": ""
                            },
                            "labels": {
                                "app": "controller"
                            },
                            "name": "openshift-pipelines-monitor",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "endpoints": [
                                {
                                    "honorLabels": true,
                                    "interval": "10s",
                                    "port": "http-metrics"
                                }
                            ],
                            "jobLabel": "app",
                            "namespaceSelector": {
                                "matchNames": [
                                    "openshift-pipelines"
                                ]
                            },
                            "selector": {
                                "matchLabels": {
                                    "app": "tekton-pipelines-controller"
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "monitoring.coreos.com/v1",
                        "kind": "ServiceMonitor",
                        "metadata": {
                            "annotations": {
                                "networkoperator.openshift.io/ignore-errors": ""
                            },
                            "labels": {
                                "app": "controller"
                            },
                            "name": "openshift-triggers-monitor",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "endpoints": [
                                {
                                    "interval": "10s",
                                    "port": "http-metrics"
                                }
                            ],
                            "jobLabel": "app",
                            "namespaceSelector": {
                                "matchNames": [
                                    "openshift-pipelines"
                                ]
                            },
                            "selector": {
                                "matchLabels": {
                                    "app": "tekton-triggers-controller"
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "monitoring.coreos.com/v1",
                        "kind": "ServiceMonitor",
                        "metadata": {
                            "annotations": {
                                "networkoperator.openshift.io/ignore-errors": ""
                            },
                            "labels": {
                                "app": "controller"
                            },
                            "name": "openshift-chains-monitor",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "endpoints": [
                                {
                                    "interval": "10s",
                                    "port": "http-metrics"
                                }
                            ],
                            "jobLabel": "app",
                            "namespaceSelector": {
                                "matchNames": [
                                    "openshift-pipelines"
                                ]
                            },
                            "selector": {
                                "matchLabels": {
                                    "app": "tekton-chains-controller"
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "monitoring.coreos.com/v1",
                        "kind": "ServiceMonitor",
                        "metadata": {
                            "annotations": {
                                "networkoperator.openshift.io/ignore-errors": ""
                            },
                            "labels": {
                                "app": "watcher"
                            },
                            "name": "openshift-results-watcher-monitor",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "endpoints": [
                                {
                                    "interval": "10s",
                                    "port": "metrics"
                                }
                            ],
                            "jobLabel": "app",
                            "namespaceSelector": {
                                "matchNames": [
                                    "openshift-pipelines"
                                ]
                            },
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/name": "tekton-results-watcher",
                                    "app.kubernetes.io/part-of": "tekton-results"
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "monitoring.coreos.com/v1",
                        "kind": "ServiceMonitor",
                        "metadata": {
                            "annotations": {
                                "networkoperator.openshift.io/ignore-errors": ""
                            },
                            "labels": {
                                "app": "api"
                            },
                            "name": "openshift-results-api-monitor",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "endpoints": [
                                {
                                    "interval": "10s",
                                    "port": "prometheus"
                                }
                            ],
                            "jobLabel": "app",
                            "namespaceSelector": {
                                "matchNames": [
                                    "openshift-pipelines"
                                ]
                            },
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/name": "tekton-results-api",
                                    "app.kubernetes.io/part-of": "tekton-results"
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "monitoring.coreos.com/v1",
                        "kind": "ServiceMonitor",
                        "metadata": {
                            "annotations": {
                                "networkoperator.openshift.io/ignore-errors": ""
                            },
                            "labels": {
                                "app": "controller"
                            },
                            "name": "openshift-pruner-monitor",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "spec": {
                            "endpoints": [
                                {
                                    "interval": "10s",
                                    "port": "http-metrics"
                                }
                            ],
                            "jobLabel": "app",
                            "namespaceSelector": {
                                "matchNames": [
                                    "openshift-pipelines"
                                ]
                            },
                            "selector": {
                                "matchLabels": {
                                    "app": "tekton-pruner-controller"
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "annotations": {
                                "operator.tekton.dev/preserve-rb-subject-namespace": "true"
                            },
                            "name": "openshift-pipelines-prometheus-k8s-read-binding",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "openshift-pipelines-read"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "prometheus-k8s",
                                "namespace": "openshift-monitoring"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:13:12Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:11Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:12Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:11Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:12Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:12Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:12Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:12Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:12Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:12Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "c64efbe38a79e8ea4853ae628e9f022fbc7f51dc4c077c91210d28d7e799c263",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:12:46Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "pipeline-pre-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonPipeline",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "pre"
                },
                "name": "pipeline-pre-zshb7",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonPipeline",
                        "name": "pipeline",
                        "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                    }
                ],
                "resourceVersion": "20250",
                "uid": "428e0c73-6d0b-4eca-938f-cc87d9e0f383"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "v1",
                        "kind": "ConfigMap",
                        "metadata": {
                            "annotations": {
                                "service.beta.openshift.io/inject-cabundle": "true"
                            },
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/release": "v0.77.0"
                            },
                            "name": "config-service-cabundle",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "config.openshift.io/inject-trusted-cabundle": "true",
                                "operator.tekton.dev/release": "v0.77.0"
                            },
                            "name": "config-trusted-cabundle",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonPipeline",
                                    "name": "pipeline",
                                    "uid": "03fd1f26-d91d-4202-a1d7-8a722ab36c5a"
                                }
                            ]
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:12:46Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:46Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:46Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:46Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:46Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:46Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:46Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:46Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:46Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:46Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "d388ea3f16e2a61a654f2d7e16e7c2a2e59461ea873ecd97feecc807ecc50904",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:13:54Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "result-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonResult",
                    "operator.tekton.dev/installType": "deployment",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "result"
                },
                "name": "result-2j8dq",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonResult",
                        "name": "result",
                        "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                    }
                ],
                "resourceVersion": "22454",
                "uid": "d095825e-e519-4efc-a631-e83d44d35d94"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-api",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-watcher",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-info",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "tekton-results-info"
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get",
                                    "describe"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results",
                                "rbac.authorization.k8s.io/aggregate-to-admin": "true"
                            },
                            "name": "tekton-results-admin",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "results.tekton.dev"
                                ],
                                "resources": [
                                    "results",
                                    "records",
                                    "logs"
                                ],
                                "verbs": [
                                    "create",
                                    "update",
                                    "get",
                                    "list",
                                    "delete"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-api",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "authentication.k8s.io"
                                ],
                                "resources": [
                                    "tokenreviews"
                                ],
                                "verbs": [
                                    "create"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "authorization.k8s.io"
                                ],
                                "resources": [
                                    "subjectaccessreviews"
                                ],
                                "verbs": [
                                    "create"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results",
                                "rbac.authorization.k8s.io/aggregate-to-edit": "true",
                                "rbac.authorization.k8s.io/aggregate-to-view": "true"
                            },
                            "name": "tekton-results-readonly",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "results.tekton.dev"
                                ],
                                "resources": [
                                    "results",
                                    "records",
                                    "logs",
                                    "summary"
                                ],
                                "verbs": [
                                    "get",
                                    "list"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-readwrite",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "results.tekton.dev"
                                ],
                                "resources": [
                                    "results",
                                    "records",
                                    "logs"
                                ],
                                "verbs": [
                                    "create",
                                    "update",
                                    "get",
                                    "list"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-watcher",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "results.tekton.dev"
                                ],
                                "resources": [
                                    "logs",
                                    "results",
                                    "records"
                                ],
                                "verbs": [
                                    "create",
                                    "get",
                                    "update"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "pipelineruns",
                                    "taskruns"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "patch",
                                    "update",
                                    "watch",
                                    "delete"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps",
                                    "pods",
                                    "events"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "pods/log"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "events"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "pipelines"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "coordination.k8s.io"
                                ],
                                "resources": [
                                    "leases"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-api",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-results-api"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-results-api",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-watcher",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-results-watcher"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-results-watcher",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "config": "DB_USER=\nDB_PASSWORD=\nDB_HOST=tekton-results-postgres-service.openshift-pipelines.svc.cluster.local\nDB_PORT=5432\nDB_NAME=tekton-results\nDB_SSLMODE=disable\nDB_SSLROOTCERT=\nDB_ENABLE_AUTO_MIGRATION=true\nDB_MAX_IDLE_CONNECTIONS=10\nDB_MAX_OPEN_CONNECTIONS=10\nGRPC_WORKER_POOL=2\nK8S_QPS=5\nK8S_BURST=10\nPROFILING=false\nPROFILING_PORT=6060\nFEATURE_GATES='PartialResponse=true'\nSERVER_PORT=8080\nPROMETHEUS_PORT=9090\nPROMETHEUS_HISTOGRAM=false\nTLS_PATH=/etc/tls\nAUTH_DISABLE=false\nAUTH_IMPERSONATE=true\nLOG_LEVEL=info\nSQL_LOG_LEVEL=warn\nLOGS_API=false\nLOGS_TYPE=File\nLOGS_BUFFER_SIZE=32768\nLOGS_PATH=/logs\nLOGS_TIMESTAMPS=false\nS3_BUCKET_NAME=\nS3_ENDPOINT=\nS3_HOSTNAME_IMMUTABLE=false\nS3_REGION=\nS3_ACCESS_KEY_ID=\nS3_SECRET_ACCESS_KEY=\nS3_MULTI_PART_SIZE=5242880\nGCS_BUCKET_NAME=\nSTORAGE_EMULATOR_HOST=\nCONVERTER_ENABLE=false\nCONVERTER_DB_LIMIT=50\nMAX_RETENTION=\nLOGGING_PLUGIN_PROXY_PATH=/api/logs/v1/application\nLOGGING_PLUGIN_API_URL=\nLOGGING_PLUGIN_TOKEN_PATH=/var/run/secrets/kubernetes.io/serviceaccount/token\nLOGGING_PLUGIN_NAMESPACE_KEY=kubernetes_namespace_name\nLOGGING_PLUGIN_CONTAINER_KEY=kubernetes.container_name\nLOGGING_PLUGIN_STATIC_LABELS='log_type=application'\nLOGGING_PLUGIN_CA_CERT=\nLOGGING_PLUGIN_QUERY_LIMIT=1700\nLOGGING_PLUGIN_TLS_VERIFICATION_DISABLE=false\nLOGGING_PLUGIN_FORWARDER_DELAY_DURATION=10\nLOGGING_PLUGIN_QUERY_PARAMS='direction=forward'\nLOGGING_PLUGIN_MULTIPART_REGEX=\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-api-config",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-leader-election",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-config-leader-election",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "loglevel.watcher": "info",
                            "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"time\",\n    \"levelKey\": \"level\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"msg\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"string\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-logging",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-config-logging",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using Stackdriver will incur additional charges.\nmetrics.backend-destination: prometheus\n\n# metrics.stackdriver-project-id field specifies the Stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used and metrics will be sent to the cluster's project if this field is\n# not provided.\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed\n# to send metrics to Stackdriver using \"global\" resource type and custom\n# metric type. Setting this flag to \"true\" could cause extra Stackdriver\n# charge.  If metrics.backend-destination is not Stackdriver, this is\n# ignored.\nmetrics.allow-stackdriver-custom-metrics: \"false\"\nmetrics.taskrun.level: \"task\"\nmetrics.taskrun.duration-type: \"histogram\"\nmetrics.pipelinerun.level: \"pipeline\"\nmetrics.pipelinerun.duration-type: \"histogram\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-observability",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-config-observability",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "defaultRetention": "30",
                            "runAt": "5 5 * * 0"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-retention-policy",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-config-results-retention-policy",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "version": "v0.16.0"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-info",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "annotations": {
                                "service.beta.openshift.io/serving-cert-secret-name": "tekton-results-tls"
                            },
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-api",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-api-service",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "server",
                                    "port": 8080,
                                    "protocol": "TCP",
                                    "targetPort": 8080
                                },
                                {
                                    "name": "prometheus",
                                    "port": 9090,
                                    "protocol": "TCP",
                                    "targetPort": 9090
                                },
                                {
                                    "name": "profiling",
                                    "port": 6060,
                                    "protocol": "TCP",
                                    "targetPort": 6060
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/name": "tekton-results-api",
                                "app.kubernetes.io/version": "v0.16.0"
                            }
                        },
                        "status": {
                            "loadBalancer": {}
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-watcher",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-watcher",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "metrics",
                                    "port": 9090
                                },
                                {
                                    "name": "profiling",
                                    "port": 8008
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/name": "tekton-results-watcher",
                                "app.kubernetes.io/version": "v0.16.0"
                            }
                        }
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-api",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-api",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/name": "tekton-results-api",
                                    "app.kubernetes.io/version": "v0.16.0"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "annotations": {
                                        "cluster-autoscaler.kubernetes.io/safe-to-evict": "false"
                                    },
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-results-api",
                                        "app.kubernetes.io/name": "tekton-results-api",
                                        "app.kubernetes.io/version": "v0.16.0",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "ae62a4132456d0ca42720cb65b0d894e"
                                    }
                                },
                                "spec": {
                                    "affinity": {
                                        "nodeAffinity": {
                                            "requiredDuringSchedulingIgnoredDuringExecution": {
                                                "nodeSelectorTerms": [
                                                    {
                                                        "matchExpressions": [
                                                            {
                                                                "key": "kubernetes.io/os",
                                                                "operator": "NotIn",
                                                                "values": [
                                                                    "windows"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "podAntiAffinity": {
                                            "preferredDuringSchedulingIgnoredDuringExecution": [
                                                {
                                                    "podAffinityTerm": {
                                                        "labelSelector": {
                                                            "matchLabels": {
                                                                "app.kubernetes.io/name": "tekton-results-api",
                                                                "app.kubernetes.io/version": "v0.16.0"
                                                            }
                                                        },
                                                        "topologyKey": "kubernetes.io/hostname"
                                                    },
                                                    "weight": 100
                                                }
                                            ]
                                        }
                                    },
                                    "containers": [
                                        {
                                            "env": [
                                                {
                                                    "name": "DB_PASSWORD",
                                                    "valueFrom": {
                                                        "secretKeyRef": {
                                                            "key": "POSTGRES_PASSWORD",
                                                            "name": "tekton-results-postgres"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "DB_USER",
                                                    "valueFrom": {
                                                        "secretKeyRef": {
                                                            "key": "POSTGRES_USER",
                                                            "name": "tekton-results-postgres"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "DB_HOST",
                                                    "value": "tekton-results-postgres-service.openshift-pipelines.svc.cluster.local"
                                                },
                                                {
                                                    "name": "IS_EXTERNAL_DB",
                                                    "value": "false"
                                                },
                                                {
                                                    "name": "LOGGING_PLUGIN_TLS_VERIFICATION_DISABLE",
                                                    "value": "false"
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-results-api-rhel9@sha256:6aa9ea8c007ed426efe10bf36d943983fb9a3efe29744e059c0bdf79491a4ffe",
                                            "livenessProbe": {
                                                "httpGet": {
                                                    "path": "/healthz",
                                                    "port": 8080,
                                                    "scheme": "HTTPS"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10
                                            },
                                            "name": "api",
                                            "readinessProbe": {
                                                "httpGet": {
                                                    "path": "/healthz",
                                                    "port": 8080,
                                                    "scheme": "HTTPS"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10
                                            },
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true,
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "startupProbe": {
                                                "failureThreshold": 10,
                                                "httpGet": {
                                                    "path": "/healthz",
                                                    "port": 8080,
                                                    "scheme": "HTTPS"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/etc/tekton/results",
                                                    "name": "config",
                                                    "readOnly": true
                                                },
                                                {
                                                    "mountPath": "/etc/tls",
                                                    "name": "tls",
                                                    "readOnly": true
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-results-api",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "name": "tekton-results-api-config"
                                            },
                                            "name": "config"
                                        },
                                        {
                                            "name": "tls",
                                            "secret": {
                                                "secretName": "tekton-results-tls"
                                            }
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-retention-policy-agent",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-retention-policy-agent",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/name": "tekton-results-retention-policy-agent",
                                    "app.kubernetes.io/version": "v0.16.0"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "annotations": {
                                        "cluster-autoscaler.kubernetes.io/safe-to-evict": "false"
                                    },
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-results-retention-policy-agent",
                                        "app.kubernetes.io/name": "tekton-results-retention-policy-agent",
                                        "app.kubernetes.io/version": "v0.16.0",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "2e54ed8d011cf55e1fb4fa3528428c39"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "env": [
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "tekton-results-config-logging"
                                                },
                                                {
                                                    "name": "DB_PASSWORD",
                                                    "valueFrom": {
                                                        "secretKeyRef": {
                                                            "key": "POSTGRES_PASSWORD",
                                                            "name": "tekton-results-postgres"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "DB_USER",
                                                    "valueFrom": {
                                                        "secretKeyRef": {
                                                            "key": "POSTGRES_USER",
                                                            "name": "tekton-results-postgres"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-results-retention-policy-agent-rhel9@sha256:6d83c7e0e068178360998c815a3e0c729ca80a349954172aadafad5da5180d0c",
                                            "name": "retention-policy-agent",
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true,
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/etc/tekton/results",
                                                    "name": "config",
                                                    "readOnly": true
                                                },
                                                {
                                                    "mountPath": "/etc/tls",
                                                    "name": "tls",
                                                    "readOnly": true
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-results-watcher",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "name": "tekton-results-api-config"
                                            },
                                            "name": "config"
                                        },
                                        {
                                            "name": "tls",
                                            "secret": {
                                                "secretName": "tekton-results-tls"
                                            }
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-watcher",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-watcher",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/name": "tekton-results-watcher",
                                    "app.kubernetes.io/version": "v0.16.0"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "annotations": {
                                        "cluster-autoscaler.kubernetes.io/safe-to-evict": "false"
                                    },
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-results-watcher",
                                        "app.kubernetes.io/name": "tekton-results-watcher",
                                        "app.kubernetes.io/version": "v0.16.0",
                                        "deployment.spec.replicas": "1",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "b14639d7f3853668d5ef2206f2ce23d3"
                                    }
                                },
                                "spec": {
                                    "affinity": {
                                        "nodeAffinity": {
                                            "requiredDuringSchedulingIgnoredDuringExecution": {
                                                "nodeSelectorTerms": [
                                                    {
                                                        "matchExpressions": [
                                                            {
                                                                "key": "kubernetes.io/os",
                                                                "operator": "NotIn",
                                                                "values": [
                                                                    "windows"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "podAntiAffinity": {
                                            "preferredDuringSchedulingIgnoredDuringExecution": [
                                                {
                                                    "podAffinityTerm": {
                                                        "labelSelector": {
                                                            "matchLabels": {
                                                                "app.kubernetes.io/name": "tekton-results-watcher",
                                                                "app.kubernetes.io/version": "v0.16.0"
                                                            }
                                                        },
                                                        "topologyKey": "kubernetes.io/hostname"
                                                    },
                                                    "weight": 100
                                                }
                                            ]
                                        }
                                    },
                                    "containers": [
                                        {
                                            "args": [
                                                "-api_addr",
                                                "$(TEKTON_RESULTS_API_SERVICE)",
                                                "-auth_mode",
                                                "$(AUTH_MODE)"
                                            ],
                                            "env": [
                                                {
                                                    "name": "AUTH_MODE",
                                                    "value": "token"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "tekton-results-config-leader-election"
                                                },
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "tekton-results-config-logging"
                                                },
                                                {
                                                    "name": "CONFIG_OBSERVABILITY_NAME",
                                                    "value": "tekton-results-config-observability"
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/results"
                                                },
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "TEKTON_RESULTS_API_SERVICE",
                                                    "value": "tekton-results-api-service.openshift-pipelines.svc.cluster.local:8080"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-results-watcher-rhel9@sha256:07789f6e6e3c3a5a974c106b43c2e8bc60edb3321def1f0883f3fcd35a238ed0",
                                            "name": "watcher",
                                            "ports": [
                                                {
                                                    "containerPort": 9090,
                                                    "name": "metrics"
                                                },
                                                {
                                                    "containerPort": 8008,
                                                    "name": "profiling"
                                                }
                                            ],
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true,
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/etc/tls",
                                                    "name": "tls",
                                                    "readOnly": true
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-results-watcher",
                                    "volumes": [
                                        {
                                            "name": "tls",
                                            "secret": {
                                                "secretName": "tekton-results-tls"
                                            }
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-info",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "app.kubernetes.io/version": "v0.16.0"
                            },
                            "name": "tekton-results-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-results-info"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:54Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:56Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:54Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:56Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:55Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:55Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:56Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:56Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "d388ea3f16e2a61a654f2d7e16e7c2a2e59461ea873ecd97feecc807ecc50904",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:07Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "result-post-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonResult",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "post"
                },
                "name": "result-post-6946l",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonResult",
                        "name": "result",
                        "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                    }
                ],
                "resourceVersion": "22466",
                "uid": "e4a2d82f-9ed1-41bf-a908-02d9ebcdbe27"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-results",
                                "rbac.authorization.k8s.io/aggregate-to-view": "true"
                            },
                            "name": "tekton-results-route-view",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "route.openshift.io"
                                ],
                                "resourceNames": [
                                    "tekton-results-api-service"
                                ],
                                "resources": [
                                    "routes"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "name": "tekton-results-route-view-auth",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-results-route-view"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:07Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "d388ea3f16e2a61a654f2d7e16e7c2a2e59461ea873ecd97feecc807ecc50904",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:13:40Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "result-pre-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonResult",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "pre"
                },
                "name": "result-pre-vzh7k",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonResult",
                        "name": "result",
                        "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                    }
                ],
                "resourceVersion": "21870",
                "uid": "04752d7a-7903-401d-9d25-86e4fdecfe60"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "v1",
                        "data": {
                            "POSTGRES_DB": "tekton-results"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-postgres",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-postgres",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-postgres",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-postgres-service",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "postgres",
                                    "port": 5432
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/name": "tekton-results-postgres"
                            },
                            "type": "NodePort"
                        }
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "StatefulSet",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/name": "tekton-results-postgres",
                                "app.kubernetes.io/part-of": "tekton-results",
                                "operator.tekton.dev/operand-name": "tektoncd-results"
                            },
                            "name": "tekton-results-postgres",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonResult",
                                    "name": "result",
                                    "uid": "5f287462-14c9-49d7-b0f1-eb598f611eea"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/name": "tekton-results-postgres"
                                }
                            },
                            "serviceName": "postgres",
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app.kubernetes.io/name": "tekton-results-postgres"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "env": [
                                                {
                                                    "name": "PGDATA",
                                                    "value": "/var/lib/pgsql/data"
                                                },
                                                {
                                                    "name": "POSTGRESQL_DATABASE",
                                                    "valueFrom": {
                                                        "configMapKeyRef": {
                                                            "key": "POSTGRES_DB",
                                                            "name": "tekton-results-postgres"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "POSTGRESQL_PASSWORD",
                                                    "valueFrom": {
                                                        "secretKeyRef": {
                                                            "key": "POSTGRES_PASSWORD",
                                                            "name": "tekton-results-postgres"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "POSTGRESQL_USER",
                                                    "valueFrom": {
                                                        "secretKeyRef": {
                                                            "key": "POSTGRES_USER",
                                                            "name": "tekton-results-postgres"
                                                        }
                                                    }
                                                }
                                            ],
                                            "image": "registry.redhat.io/rhel9/postgresql-13@sha256:36647bd6d50d2e0e9c99ecf190bd515577c7ce9476e49d927c4d4065011e3441",
                                            "name": "postgres",
                                            "ports": [
                                                {
                                                    "containerPort": 5432,
                                                    "name": "postgredb"
                                                }
                                            ],
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/var/lib/pgsql/data",
                                                    "name": "postgredb"
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    }
                                }
                            },
                            "updateStrategy": {},
                            "volumeClaimTemplates": [
                                {
                                    "metadata": {
                                        "creationTimestamp": null,
                                        "name": "postgredb"
                                    },
                                    "spec": {
                                        "accessModes": [
                                            "ReadWriteOnce"
                                        ],
                                        "resources": {
                                            "requests": {
                                                "storage": "1Gi"
                                            }
                                        }
                                    },
                                    "status": {}
                                }
                            ]
                        },
                        "status": {
                            "availableReplicas": 0,
                            "replicas": 0
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:13:54Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:40Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:54Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:40Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:40Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:40Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:40Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:54Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:54Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:54Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:12:41Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "rhosp-rbac-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "RBAC",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "rhosp-rbac"
                },
                "name": "rhosp-rbac-86qsn",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonConfig",
                        "name": "config",
                        "uid": "915ae64e-fa9d-455a-b7a2-ae0ac977f71c"
                    }
                ],
                "resourceVersion": "20005",
                "uid": "cc717da6-07a0-4f12-9896-b072199f8d5d"
            },
            "spec": {
                "manifests": [
                    {
                        "allowHostDirVolumePlugin": false,
                        "allowHostIPC": false,
                        "allowHostNetwork": false,
                        "allowHostPID": false,
                        "allowHostPorts": false,
                        "allowPrivilegeEscalation": false,
                        "allowPrivilegedContainer": false,
                        "allowedCapabilities": [
                            "SETFCAP"
                        ],
                        "apiVersion": "security.openshift.io/v1",
                        "defaultAddCapabilities": null,
                        "fsGroup": {
                            "type": "MustRunAs"
                        },
                        "groups": [
                            "system:cluster-admins"
                        ],
                        "kind": "SecurityContextConstraints",
                        "metadata": {
                            "annotations": {
                                "include.release.openshift.io/ibm-cloud-managed": "true",
                                "include.release.openshift.io/self-managed-high-availability": "true",
                                "include.release.openshift.io/single-node-developer": "true",
                                "kubernetes.io/description": "pipelines-scc is a close replica of anyuid scc. pipelines-scc has fsGroup - MustRunAs.",
                                "release.openshift.io/create-only": "true"
                            },
                            "name": "pipelines-scc"
                        },
                        "priority": 10,
                        "readOnlyRootFilesystem": false,
                        "requiredDropCapabilities": [
                            "MKNOD"
                        ],
                        "runAsUser": {
                            "type": "RunAsAny"
                        },
                        "seLinuxContext": {
                            "type": "MustRunAs"
                        },
                        "supplementalGroups": {
                            "type": "RunAsAny"
                        },
                        "volumes": [
                            "configMap",
                            "csi",
                            "downwardAPI",
                            "emptyDir",
                            "ephemeral",
                            "persistentVolumeClaim",
                            "projected",
                            "secret"
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:12:41Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:41Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:41Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:41Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:41Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:41Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:41Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:41Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:41Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:41Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:43Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "tekton-config-console-plugin-manifests-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "tekton-config-console-plugin-manifests",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "config"
                },
                "name": "tekton-config-console-plugin-manifests-69zkl",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonConfig",
                        "name": "config",
                        "uid": "915ae64e-fa9d-455a-b7a2-ae0ac977f71c"
                    }
                ],
                "resourceVersion": "23541",
                "uid": "d6431c12-24af-4ff6-a1d1-b4bbb75aab3d"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "annotations": {
                                "service.beta.openshift.io/serving-cert-secret-name": "pipelines-console-plugin-cert"
                            },
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-config"
                            },
                            "name": "pipelines-console-plugin",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonConfig",
                                    "name": "config",
                                    "uid": "915ae64e-fa9d-455a-b7a2-ae0ac977f71c"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "8443-tcp",
                                    "port": 8443,
                                    "protocol": "TCP",
                                    "targetPort": 8443
                                }
                            ],
                            "selector": {
                                "app": "pipelines-console-plugin",
                                "name": "pipelines-console-plugin"
                            }
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "nginx.conf": "error_log /dev/stdout warn;\nevents {}\nhttp {\n  access_log         /dev/stdout;\n  include            /etc/nginx/mime.types;\n  default_type       application/octet-stream;\n  keepalive_timeout  65;\n  server {\n    listen              8443 ssl;\n    listen              [::]:8443 ssl;\n    ssl_certificate     /var/cert/tls.crt;\n    ssl_certificate_key /var/cert/tls.key;\n    root                /usr/share/nginx/html;\n  }\n}\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-config"
                            },
                            "name": "pipelines-console-plugin",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonConfig",
                                    "name": "config",
                                    "uid": "915ae64e-fa9d-455a-b7a2-ae0ac977f71c"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-config"
                            },
                            "name": "pipelines-console-plugin",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonConfig",
                                    "name": "config",
                                    "uid": "915ae64e-fa9d-455a-b7a2-ae0ac977f71c"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app": "pipelines-console-plugin",
                                    "name": "pipelines-console-plugin"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "pipelines-console-plugin",
                                        "app.kubernetes.io/part-of": "tekton-config",
                                        "name": "pipelines-console-plugin"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-console-plugin-rhel9@sha256:66f2fcc54c1f79cc90ba053c232765c3e88527254b64b4357b3ab64a7b5c4fbf",
                                            "imagePullPolicy": "Always",
                                            "name": "pipelines-console-plugin",
                                            "ports": [
                                                {
                                                    "containerPort": 8443,
                                                    "protocol": "TCP"
                                                }
                                            ],
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/var/cert",
                                                    "name": "pipelines-console-plugin-cert",
                                                    "readOnly": true
                                                },
                                                {
                                                    "mountPath": "/etc/nginx/nginx.conf",
                                                    "name": "nginx-conf",
                                                    "readOnly": true,
                                                    "subPath": "nginx.conf"
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "volumes": [
                                        {
                                            "name": "pipelines-console-plugin-cert",
                                            "secret": {
                                                "defaultMode": 420,
                                                "secretName": "pipelines-console-plugin-cert"
                                            }
                                        },
                                        {
                                            "configMap": {
                                                "defaultMode": 420,
                                                "name": "pipelines-console-plugin"
                                            },
                                            "name": "nginx-conf"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "console.openshift.io/v1",
                        "kind": "ConsolePlugin",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-config"
                            },
                            "name": "pipelines-console-plugin",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonConfig",
                                    "name": "config",
                                    "uid": "915ae64e-fa9d-455a-b7a2-ae0ac977f71c"
                                }
                            ]
                        },
                        "spec": {
                            "backend": {
                                "service": {
                                    "basePath": "/",
                                    "name": "pipelines-console-plugin",
                                    "namespace": "openshift-pipelines",
                                    "port": 8443
                                },
                                "type": "Service"
                            },
                            "displayName": "Pipelines Console Plugin",
                            "i18n": {
                                "loadType": "Preload"
                            },
                            "proxy": [
                                {
                                    "alias": "tekton-results-api-service",
                                    "endpoint": {
                                        "service": {
                                            "name": "tekton-results-api-service",
                                            "namespace": "openshift-pipelines",
                                            "port": 8080
                                        },
                                        "type": "Service"
                                    },
                                    "type": "Service"
                                }
                            ]
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:48Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:43Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:43Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:43Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:43Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:43Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:43Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:48Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:43Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:43Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "openshift-pipelines-h1:h6WHpDCCRCLLaH33J+qkpvjG9KYrfwLzxioXSOr+qLA=",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:14:08Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "tektoncd-pruner-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonConfig",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "tektoncd-pruner"
                },
                "name": "tektoncd-pruner-m7l9g",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonConfig",
                        "name": "config",
                        "uid": "915ae64e-fa9d-455a-b7a2-ae0ac977f71c"
                    }
                ],
                "resourceVersion": "22494",
                "uid": "134763a9-1c92-4c40-8895-797eaa1aa93a"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-config",
                                "operator.tekton.dev/operand-name": "tektoncd-pruner"
                            },
                            "name": "tekton-resource-pruner",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonConfig",
                                    "name": "config",
                                    "uid": "915ae64e-fa9d-455a-b7a2-ae0ac977f71c"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "taskruns",
                                    "pipelineruns"
                                ],
                                "verbs": [
                                    "list",
                                    "get",
                                    "delete",
                                    "deletecollection"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "tasks",
                                    "pipelines"
                                ],
                                "verbs": [
                                    "list"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-config",
                                "operator.tekton.dev/operand-name": "tektoncd-pruner"
                            },
                            "name": "tekton-resource-pruner",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonConfig",
                                    "name": "config",
                                    "uid": "915ae64e-fa9d-455a-b7a2-ae0ac977f71c"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/part-of": "tekton-config",
                                "operator.tekton.dev/operand-name": "tektoncd-pruner"
                            },
                            "name": "tekton-resource-pruner",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonConfig",
                                    "name": "config",
                                    "uid": "915ae64e-fa9d-455a-b7a2-ae0ac977f71c"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-resource-pruner"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-resource-pruner",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:14:08Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "20064b46c6a17333764a272248f5534f45cc224c439fd3e778d4900bbc6ea125",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:13:16Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "trigger-main-deployment-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonTrigger",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "main"
                },
                "name": "trigger-main-deployment-m9mqb",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonTrigger",
                        "name": "trigger",
                        "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                    }
                ],
                "resourceVersion": "21451",
                "uid": "a3433787-ac2b-4d28-aaba-383936751282"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app": "tekton-triggers-controller",
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "controller",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "app.kubernetes.io/version": "v0.33.0",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0",
                                "version": "v0.33.0"
                            },
                            "name": "tekton-triggers-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "http-metrics",
                                    "port": 9000,
                                    "protocol": "TCP",
                                    "targetPort": 9000
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "controller",
                                "app.kubernetes.io/part-of": "tekton-triggers"
                            }
                        }
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "controller",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "controller",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "app.kubernetes.io/version": "v0.33.0",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0"
                            },
                            "name": "tekton-triggers-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "controller",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "controller",
                                    "app.kubernetes.io/part-of": "tekton-triggers"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-triggers-controller",
                                        "app.kubernetes.io/component": "controller",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "controller",
                                        "app.kubernetes.io/part-of": "tekton-triggers",
                                        "app.kubernetes.io/version": "v0.33.0",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "7d34db2ac79ad3a052378c673b6fda8f",
                                        "triggers.tekton.dev/release": "v0.33.0",
                                        "version": "v0.33.0"
                                    }
                                },
                                "spec": {
                                    "affinity": {
                                        "nodeAffinity": {
                                            "requiredDuringSchedulingIgnoredDuringExecution": {
                                                "nodeSelectorTerms": [
                                                    {
                                                        "matchExpressions": [
                                                            {
                                                                "key": "kubernetes.io/os",
                                                                "operator": "NotIn",
                                                                "values": [
                                                                    "windows"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "podAntiAffinity": {
                                            "preferredDuringSchedulingIgnoredDuringExecution": [
                                                {
                                                    "podAffinityTerm": {
                                                        "labelSelector": {
                                                            "matchLabels": {
                                                                "app.kubernetes.io/component": "controller",
                                                                "app.kubernetes.io/instance": "default",
                                                                "app.kubernetes.io/name": "controller",
                                                                "app.kubernetes.io/part-of": "tekton-triggers"
                                                            }
                                                        },
                                                        "topologyKey": "kubernetes.io/hostname"
                                                    },
                                                    "weight": 100
                                                }
                                            ]
                                        }
                                    },
                                    "containers": [
                                        {
                                            "args": [
                                                "-logtostderr",
                                                "-stderrthreshold",
                                                "INFO",
                                                "-el-image",
                                                "registry.redhat.io/openshift-pipelines/pipelines-triggers-eventlistenersink-rhel9@sha256:6247b2814725f2c121fa1e798d142fbb43d071cc84440e59a661bd01f9d9e666",
                                                "-el-port",
                                                "8080",
                                                "-el-security-context=true",
                                                "-el-read-only-root-filesystem=true",
                                                "-el-events",
                                                "enable",
                                                "-el-readtimeout",
                                                "5",
                                                "-el-writetimeout",
                                                "40",
                                                "-el-idletimeout",
                                                "120",
                                                "-el-timeouthandler",
                                                "30",
                                                "-el-httpclient-readtimeout",
                                                "30",
                                                "-el-httpclient-keep-alive",
                                                "30",
                                                "-el-httpclient-tlshandshaketimeout",
                                                "10",
                                                "-el-httpclient-responseheadertimeout",
                                                "10",
                                                "-el-httpclient-expectcontinuetimeout",
                                                "1",
                                                "-period-seconds",
                                                "10",
                                                "-failure-threshold",
                                                "3"
                                            ],
                                            "env": [
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "config-logging-triggers"
                                                },
                                                {
                                                    "name": "CONFIG_OBSERVABILITY_NAME",
                                                    "value": "config-observability-triggers"
                                                },
                                                {
                                                    "name": "CONFIG_DEFAULTS_NAME",
                                                    "value": "config-defaults-triggers"
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/triggers"
                                                },
                                                {
                                                    "name": "METRICS_PROMETHEUS_PORT",
                                                    "value": "9000"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "config-leader-election-triggers-controllers"
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-triggers-controller-rhel9@sha256:f4c15a6e518997beafd705de5c0364145de194c7e965f42af234d33c472d3e18",
                                            "name": "tekton-triggers-controller",
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true,
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-triggers-controller",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app": "tekton-triggers-webhook",
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "webhook",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "app.kubernetes.io/version": "v0.33.0",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0",
                                "version": "v0.33.0"
                            },
                            "name": "tekton-triggers-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "https-webhook",
                                    "port": 443,
                                    "targetPort": 8443
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "webhook",
                                "app.kubernetes.io/part-of": "tekton-triggers"
                            }
                        }
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "webhook",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "app.kubernetes.io/version": "v0.33.0",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0"
                            },
                            "name": "tekton-triggers-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "webhook",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "webhook",
                                    "app.kubernetes.io/part-of": "tekton-triggers"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-triggers-webhook",
                                        "app.kubernetes.io/component": "webhook",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "webhook",
                                        "app.kubernetes.io/part-of": "tekton-triggers",
                                        "app.kubernetes.io/version": "v0.33.0",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "a932163ea0d897f0ae6c69f456136177",
                                        "triggers.tekton.dev/release": "v0.33.0",
                                        "version": "v0.33.0"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "env": [
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "config-logging-triggers"
                                                },
                                                {
                                                    "name": "WEBHOOK_SERVICE_NAME",
                                                    "value": "tekton-triggers-webhook"
                                                },
                                                {
                                                    "name": "WEBHOOK_SECRET_NAME",
                                                    "value": "triggers-webhook-certs"
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/triggers"
                                                },
                                                {
                                                    "name": "CONFIG_LEADERELECTION_NAME",
                                                    "value": "config-leader-election-triggers-webhook"
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-triggers-webhook-rhel9@sha256:6b79a56373664462beee1bae9a2f475ede6b945d35ab65a427f18990c375f29a",
                                            "name": "webhook",
                                            "ports": [
                                                {
                                                    "containerPort": 9000,
                                                    "name": "metrics"
                                                },
                                                {
                                                    "containerPort": 8008,
                                                    "name": "profiling"
                                                },
                                                {
                                                    "containerPort": 8443,
                                                    "name": "https-webhook"
                                                }
                                            ],
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true,
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-triggers-webhook",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "apps/v1",
                        "kind": "Deployment",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/component": "interceptors",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "core-interceptors",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "app.kubernetes.io/version": "v0.33.0",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0"
                            },
                            "name": "tekton-triggers-core-interceptors",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "replicas": 1,
                            "selector": {
                                "matchLabels": {
                                    "app.kubernetes.io/component": "interceptors",
                                    "app.kubernetes.io/instance": "default",
                                    "app.kubernetes.io/name": "core-interceptors",
                                    "app.kubernetes.io/part-of": "tekton-triggers"
                                }
                            },
                            "strategy": {},
                            "template": {
                                "metadata": {
                                    "creationTimestamp": null,
                                    "labels": {
                                        "app": "tekton-triggers-core-interceptors",
                                        "app.kubernetes.io/component": "interceptors",
                                        "app.kubernetes.io/instance": "default",
                                        "app.kubernetes.io/name": "core-interceptors",
                                        "app.kubernetes.io/part-of": "tekton-triggers",
                                        "app.kubernetes.io/version": "v0.33.0",
                                        "operator.tekton.dev/deployment-spec-applied-hash": "e5fd864085c6b478e10a430153c793b3",
                                        "triggers.tekton.dev/release": "v0.33.0",
                                        "version": "v0.33.0"
                                    }
                                },
                                "spec": {
                                    "containers": [
                                        {
                                            "args": [
                                                "-logtostderr",
                                                "-stderrthreshold",
                                                "INFO"
                                            ],
                                            "env": [
                                                {
                                                    "name": "SYSTEM_NAMESPACE",
                                                    "valueFrom": {
                                                        "fieldRef": {
                                                            "fieldPath": "metadata.namespace"
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "CONFIG_LOGGING_NAME",
                                                    "value": "config-logging-triggers"
                                                },
                                                {
                                                    "name": "CONFIG_OBSERVABILITY_NAME",
                                                    "value": "config-observability-triggers"
                                                },
                                                {
                                                    "name": "METRICS_DOMAIN",
                                                    "value": "tekton.dev/triggers"
                                                },
                                                {
                                                    "name": "INTERCEPTOR_TLS_SVC_NAME",
                                                    "value": "tekton-triggers-core-interceptors"
                                                },
                                                {
                                                    "name": "INTERCEPTOR_TLS_SECRET_NAME",
                                                    "value": "tekton-triggers-core-interceptors-certs"
                                                },
                                                {
                                                    "name": "KUBERNETES_MIN_VERSION",
                                                    "value": "v1.0.0"
                                                },
                                                {
                                                    "name": "SSL_CERT_DIR",
                                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs"
                                                }
                                            ],
                                            "image": "registry.redhat.io/openshift-pipelines/pipelines-triggers-core-interceptors-rhel9@sha256:4dcd0b18dea61968f20d49c4372eec43689eb52e823e1a6293e9b89c6e21e587",
                                            "name": "tekton-triggers-core-interceptors",
                                            "ports": [
                                                {
                                                    "containerPort": 8443
                                                }
                                            ],
                                            "readinessProbe": {
                                                "httpGet": {
                                                    "path": "/ready",
                                                    "port": 8443,
                                                    "scheme": "HTTPS"
                                                },
                                                "initialDelaySeconds": 5,
                                                "periodSeconds": 10,
                                                "timeoutSeconds": 5
                                            },
                                            "resources": {},
                                            "securityContext": {
                                                "allowPrivilegeEscalation": false,
                                                "capabilities": {
                                                    "drop": [
                                                        "ALL"
                                                    ]
                                                },
                                                "readOnlyRootFilesystem": true,
                                                "runAsNonRoot": true,
                                                "seccompProfile": {
                                                    "type": "RuntimeDefault"
                                                }
                                            },
                                            "volumeMounts": [
                                                {
                                                    "mountPath": "/tekton-custom-certs/ca-bundle.crt",
                                                    "name": "config-trusted-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "ca-bundle.crt"
                                                },
                                                {
                                                    "mountPath": "/tekton-custom-certs/service-ca.crt",
                                                    "name": "config-service-cabundle-volume",
                                                    "readOnly": true,
                                                    "subPath": "service-ca.crt"
                                                },
                                                {
                                                    "mountPath": "/etc/pki/ca-trust/extracted/pem",
                                                    "name": "config-trusted-system-cabundle-volume",
                                                    "readOnly": true
                                                }
                                            ]
                                        }
                                    ],
                                    "securityContext": {
                                        "runAsNonRoot": true,
                                        "seccompProfile": {
                                            "type": "RuntimeDefault"
                                        }
                                    },
                                    "serviceAccountName": "tekton-triggers-core-interceptors",
                                    "volumes": [
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "ca-bundle.crt"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "service-ca.crt",
                                                        "path": "service-ca.crt"
                                                    }
                                                ],
                                                "name": "config-service-cabundle"
                                            },
                                            "name": "config-service-cabundle-volume"
                                        },
                                        {
                                            "configMap": {
                                                "items": [
                                                    {
                                                        "key": "ca-bundle.crt",
                                                        "path": "tls-ca-bundle.pem"
                                                    }
                                                ],
                                                "name": "config-trusted-cabundle"
                                            },
                                            "name": "config-trusted-system-cabundle-volume"
                                        }
                                    ]
                                }
                            }
                        },
                        "status": {}
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Service",
                        "metadata": {
                            "labels": {
                                "app": "tekton-triggers-core-interceptors",
                                "app.kubernetes.io/component": "interceptors",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "tekton-triggers-core-interceptors",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "app.kubernetes.io/version": "v0.33.0",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0",
                                "version": "v0.33.0"
                            },
                            "name": "tekton-triggers-core-interceptors",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "ports": [
                                {
                                    "name": "https",
                                    "port": 8443
                                }
                            ],
                            "selector": {
                                "app.kubernetes.io/component": "interceptors",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "core-interceptors",
                                "app.kubernetes.io/part-of": "tekton-triggers"
                            }
                        }
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:13:33Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:17Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:21Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:17Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:18Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:17Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:17Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:33Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:18Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:20Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "20064b46c6a17333764a272248f5534f45cc224c439fd3e778d4900bbc6ea125",
                    "operator.tekton.dev/target-namespace": "openshift-pipelines"
                },
                "creationTimestamp": "2026-04-03T00:13:13Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "trigger-main-static-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "TektonTrigger",
                    "operator.tekton.dev/release-version": "1.20.3",
                    "operator.tekton.dev/type": "main"
                },
                "name": "trigger-main-static-xq8sg",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonTrigger",
                        "name": "trigger",
                        "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                    }
                ],
                "resourceVersion": "21050",
                "uid": "140db8e9-732a-4af4-bc5f-577195829605"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-admin",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps",
                                    "services",
                                    "events"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "apps"
                                ],
                                "resources": [
                                    "deployments",
                                    "deployments/finalizers"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "admissionregistration.k8s.io"
                                ],
                                "resources": [
                                    "mutatingwebhookconfigurations",
                                    "validatingwebhookconfigurations"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "triggers.tekton.dev"
                                ],
                                "resources": [
                                    "clustertriggerbindings",
                                    "clusterinterceptors",
                                    "interceptors",
                                    "eventlisteners",
                                    "triggerbindings",
                                    "triggertemplates",
                                    "triggers",
                                    "eventlisteners/finalizers"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "triggers.tekton.dev"
                                ],
                                "resources": [
                                    "clustertriggerbindings/status",
                                    "clusterinterceptors/status",
                                    "interceptors/status",
                                    "eventlisteners/status",
                                    "triggerbindings/status",
                                    "triggertemplates/status",
                                    "triggers/status"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "coordination.k8s.io"
                                ],
                                "resources": [
                                    "leases"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "serving.knative.dev"
                                ],
                                "resources": [
                                    "*",
                                    "*/status",
                                    "*/finalizers"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "deletecollection",
                                    "patch",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "openshift-pipelines"
                                ],
                                "resources": [
                                    "namespaces"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "openshift-pipelines"
                                ],
                                "resources": [
                                    "namespaces/finalizers"
                                ],
                                "verbs": [
                                    "update"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-core-interceptors",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-core-interceptors-secrets",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "triggers.tekton.dev"
                                ],
                                "resources": [
                                    "clusterinterceptors"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch",
                                    "update"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "tekton-triggers-core-interceptors-certs"
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch",
                                    "update"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-eventlistener-roles",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "triggers.tekton.dev"
                                ],
                                "resources": [
                                    "eventlisteners",
                                    "triggerbindings",
                                    "interceptors",
                                    "triggertemplates",
                                    "triggers"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    "tekton.dev"
                                ],
                                "resources": [
                                    "pipelineruns",
                                    "pipelineresources",
                                    "taskruns"
                                ],
                                "verbs": [
                                    "create"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "serviceaccounts"
                                ],
                                "verbs": [
                                    "impersonate"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "events"
                                ],
                                "verbs": [
                                    "create",
                                    "patch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-eventlistener-clusterroles",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "triggers.tekton.dev"
                                ],
                                "resources": [
                                    "clustertriggerbindings",
                                    "clusterinterceptors"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            },
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-admin-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "secrets"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "create",
                                    "update",
                                    "delete",
                                    "patch",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-core-interceptors",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "Role",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    ""
                                ],
                                "resourceNames": [
                                    "triggers-info"
                                ],
                                "resources": [
                                    "configmaps"
                                ],
                                "verbs": [
                                    "get"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "ServiceAccount",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-core-interceptors",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-controller-admin",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-triggers-admin"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-triggers-controller",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-webhook-admin",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-triggers-admin"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-triggers-webhook",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-core-interceptors",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-triggers-core-interceptors"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-triggers-core-interceptors",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-triggers-core-interceptors-secrets",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-triggers-core-interceptors-secrets"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-triggers-core-interceptors",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0",
                                "version": "v0.33.0"
                            },
                            "name": "clusterinterceptors.triggers.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "group": "triggers.tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-triggers"
                                ],
                                "kind": "ClusterInterceptor",
                                "plural": "clusterinterceptors",
                                "shortNames": [
                                    "ci"
                                ],
                                "singular": "clusterinterceptor"
                            },
                            "scope": "Cluster",
                            "versions": [
                                {
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0",
                                "version": "v0.33.0"
                            },
                            "name": "clustertriggerbindings.triggers.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "group": "triggers.tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-triggers"
                                ],
                                "kind": "ClusterTriggerBinding",
                                "plural": "clustertriggerbindings",
                                "shortNames": [
                                    "ctb"
                                ],
                                "singular": "clustertriggerbinding"
                            },
                            "scope": "Cluster",
                            "versions": [
                                {
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0",
                                "version": "v0.33.0"
                            },
                            "name": "eventlisteners.triggers.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "group": "triggers.tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-triggers"
                                ],
                                "kind": "EventListener",
                                "plural": "eventlisteners",
                                "shortNames": [
                                    "el"
                                ],
                                "singular": "eventlistener"
                            },
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "additionalPrinterColumns": [
                                        {
                                            "jsonPath": ".status.address.url",
                                            "name": "Address",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Available')].status",
                                            "name": "Available",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Available')].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Ready')].status",
                                            "name": "Ready",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Ready')].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        }
                                    ],
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "additionalPrinterColumns": [
                                        {
                                            "jsonPath": ".status.address.url",
                                            "name": "Address",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Available')].status",
                                            "name": "Available",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Available')].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Ready')].status",
                                            "name": "Ready",
                                            "type": "string"
                                        },
                                        {
                                            "jsonPath": ".status.conditions[?(@.type=='Ready')].reason",
                                            "name": "Reason",
                                            "type": "string"
                                        }
                                    ],
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0",
                                "version": "v0.33.0"
                            },
                            "name": "interceptors.triggers.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "group": "triggers.tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-triggers"
                                ],
                                "kind": "Interceptor",
                                "plural": "interceptors",
                                "shortNames": [
                                    "ni"
                                ],
                                "singular": "interceptor"
                            },
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0",
                                "version": "v0.33.0"
                            },
                            "name": "triggers.triggers.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "group": "triggers.tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-triggers"
                                ],
                                "kind": "Trigger",
                                "plural": "triggers",
                                "shortNames": [
                                    "tri"
                                ],
                                "singular": "trigger"
                            },
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0",
                                "version": "v0.33.0"
                            },
                            "name": "triggerbindings.triggers.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "group": "triggers.tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-triggers"
                                ],
                                "kind": "TriggerBinding",
                                "plural": "triggerbindings",
                                "shortNames": [
                                    "tb"
                                ],
                                "singular": "triggerbinding"
                            },
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "apiextensions.k8s.io/v1",
                        "kind": "CustomResourceDefinition",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0",
                                "version": "v0.33.0"
                            },
                            "name": "triggertemplates.triggers.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "group": "triggers.tekton.dev",
                            "names": {
                                "categories": [
                                    "tekton",
                                    "tekton-triggers"
                                ],
                                "kind": "TriggerTemplate",
                                "plural": "triggertemplates",
                                "shortNames": [
                                    "tt"
                                ],
                                "singular": "triggertemplate"
                            },
                            "scope": "Namespaced",
                            "versions": [
                                {
                                    "name": "v1beta1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": true,
                                    "subresources": {
                                        "status": {}
                                    }
                                },
                                {
                                    "name": "v1alpha1",
                                    "schema": {
                                        "openAPIV3Schema": {
                                            "type": "object",
                                            "x-kubernetes-preserve-unknown-fields": true
                                        }
                                    },
                                    "served": true,
                                    "storage": false,
                                    "subresources": {
                                        "status": {}
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Secret",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0"
                            },
                            "name": "triggers-webhook-certs",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "ValidatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0"
                            },
                            "name": "validation.webhook.triggers.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-triggers-webhook",
                                        "namespace": "openshift-pipelines"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "validation.webhook.triggers.tekton.dev",
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "MutatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0"
                            },
                            "name": "webhook.triggers.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-triggers-webhook",
                                        "namespace": "openshift-pipelines"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "webhook.triggers.tekton.dev",
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "ValidatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "webhook",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0"
                            },
                            "name": "config.webhook.triggers.tekton.dev",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-triggers-webhook",
                                        "namespace": "openshift-pipelines"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "config.webhook.triggers.tekton.dev",
                                "namespaceSelector": {
                                    "matchExpressions": [
                                        {
                                            "key": "triggers.tekton.dev/release",
                                            "operator": "Exists"
                                        }
                                    ]
                                },
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "rbac.authorization.k8s.io/aggregate-to-admin": "true",
                                "rbac.authorization.k8s.io/aggregate-to-edit": "true"
                            },
                            "name": "tekton-triggers-aggregate-edit",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "triggers.tekton.dev"
                                ],
                                "resources": [
                                    "clustertriggerbindings",
                                    "clusterinterceptors",
                                    "eventlisteners",
                                    "interceptors",
                                    "triggers",
                                    "triggerbindings",
                                    "triggertemplates"
                                ],
                                "verbs": [
                                    "create",
                                    "delete",
                                    "deletecollection",
                                    "get",
                                    "list",
                                    "patch",
                                    "update",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "rbac.authorization.k8s.io/aggregate-to-view": "true"
                            },
                            "name": "tekton-triggers-aggregate-view",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "triggers.tekton.dev"
                                ],
                                "resources": [
                                    "clustertriggerbindings",
                                    "clusterinterceptors",
                                    "eventlisteners",
                                    "interceptors",
                                    "triggers",
                                    "triggerbindings",
                                    "triggertemplates"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# default-service-account contains the default service account name\n# to use for TaskRun and PipelineRun, if none is specified.\ndefault-service-account: \"default\"\ndefault-run-as-user: \"65532\"\ndefault-run-as-group: \"65532\"\ndefault-fs-group: \"65532\"\ndefault-run-as-non-root: \"true\" # allowed values are true and false\n",
                            "default-fs-group": "",
                            "default-run-as-group": "",
                            "default-run-as-user": "",
                            "default-service-account": "pipeline"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "config-defaults-triggers",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "enable-api-fields": "stable",
                            "labels-exclusion-pattern": ""
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "creationTimestamp": null,
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-pipelines",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "feature-flags-triggers",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "version": "v0.33.0"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "triggers-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "config-leader-election-triggers-controller",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "config-leader-election-triggers-webhook",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "loglevel.controller": "info",
                            "loglevel.eventlistener": "info",
                            "loglevel.webhook": "info",
                            "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"disableStacktrace\": true,\n  \"sampling\": {\n    \"initial\": 100,\n    \"thereafter\": 100\n  },\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"timestamp\",\n    \"levelKey\": \"severity\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"message\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "config-logging-triggers",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "v1",
                        "data": {
                            "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using stackdriver will incur additional charges\nmetrics.backend-destination: prometheus\n\n# metrics.stackdriver-project-id field specifies the stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used if this field is not provided.\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed to send metrics to\n# Stackdriver using \"global\" resource type and custom metric type if the\n# metrics are not supported by \"knative_revision\" resource type. Setting this\n# flag to \"true\" could cause extra Stackdriver charge.\n# If metrics.backend-destination is not Stackdriver, this is ignored.\nmetrics.allow-stackdriver-custom-metrics: \"false\"\n"
                        },
                        "kind": "ConfigMap",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "config-observability-triggers",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRole",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "rbac.authorization.k8s.io/aggregate-to-view": "true"
                            },
                            "name": "tekton-clustertriggerbindings-view-role",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "rules": [
                            {
                                "apiGroups": [
                                    "triggers.tekton.dev"
                                ],
                                "resources": [
                                    "clustertriggerbindings"
                                ],
                                "verbs": [
                                    "get",
                                    "list",
                                    "watch"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "ClusterRoleBinding",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-triggers"
                            },
                            "name": "tekton-clustertriggerbindings-view-rolebinding-all-users",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "ClusterRole",
                            "name": "tekton-clustertriggerbindings-view-role"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    },
                    {
                        "apiVersion": "v1",
                        "kind": "Secret",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/component": "interceptors",
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/name": "core-interceptors",
                                "app.kubernetes.io/part-of": "tekton-triggers",
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "triggers.tekton.dev/release": "v0.33.0"
                            },
                            "name": "tekton-triggers-core-interceptors-certs",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterInterceptor",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "server/type": "https"
                            },
                            "name": "cel",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "clientConfig": {
                                "service": {
                                    "name": "tekton-triggers-core-interceptors",
                                    "namespace": "openshift-pipelines",
                                    "path": "cel",
                                    "port": 8443
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterInterceptor",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "server/type": "https"
                            },
                            "name": "bitbucket",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "clientConfig": {
                                "service": {
                                    "name": "tekton-triggers-core-interceptors",
                                    "namespace": "openshift-pipelines",
                                    "path": "bitbucket",
                                    "port": 8443
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterInterceptor",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "server/type": "https"
                            },
                            "name": "slack",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "clientConfig": {
                                "service": {
                                    "name": "tekton-triggers-core-interceptors",
                                    "namespace": "openshift-pipelines",
                                    "path": "slack",
                                    "port": 8443
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterInterceptor",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "server/type": "https"
                            },
                            "name": "github",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "clientConfig": {
                                "service": {
                                    "name": "tekton-triggers-core-interceptors",
                                    "namespace": "openshift-pipelines",
                                    "path": "github",
                                    "port": 8443
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "triggers.tekton.dev/v1alpha1",
                        "kind": "ClusterInterceptor",
                        "metadata": {
                            "labels": {
                                "operator.tekton.dev/operand-name": "tektoncd-triggers",
                                "server/type": "https"
                            },
                            "name": "gitlab",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "spec": {
                            "clientConfig": {
                                "service": {
                                    "name": "tekton-triggers-core-interceptors",
                                    "namespace": "openshift-pipelines",
                                    "path": "gitlab",
                                    "port": 8443
                                }
                            }
                        }
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers"
                            },
                            "name": "tekton-triggers-webhook-admin",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-triggers-admin-webhook"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-triggers-webhook",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers"
                            },
                            "name": "tekton-triggers-core-interceptors",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-triggers-core-interceptors"
                        },
                        "subjects": [
                            {
                                "kind": "ServiceAccount",
                                "name": "tekton-triggers-core-interceptors",
                                "namespace": "openshift-pipelines"
                            }
                        ]
                    },
                    {
                        "apiVersion": "rbac.authorization.k8s.io/v1",
                        "kind": "RoleBinding",
                        "metadata": {
                            "labels": {
                                "app.kubernetes.io/instance": "default",
                                "app.kubernetes.io/part-of": "tekton-triggers"
                            },
                            "name": "tekton-triggers-info",
                            "namespace": "openshift-pipelines",
                            "ownerReferences": [
                                {
                                    "apiVersion": "operator.tekton.dev/v1alpha1",
                                    "blockOwnerDeletion": true,
                                    "controller": true,
                                    "kind": "TektonTrigger",
                                    "name": "trigger",
                                    "uid": "6dcf1096-c18d-4a85-9d32-47e7574c9854"
                                }
                            ]
                        },
                        "roleRef": {
                            "apiGroup": "rbac.authorization.k8s.io",
                            "kind": "Role",
                            "name": "tekton-triggers-info"
                        },
                        "subjects": [
                            {
                                "apiGroup": "rbac.authorization.k8s.io",
                                "kind": "Group",
                                "name": "system:authenticated"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:13:16Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:13Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:16Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:13Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:16Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:16Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:16Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:16Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:16Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:13:16Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        },
        {
            "apiVersion": "operator.tekton.dev/v1alpha1",
            "kind": "TektonInstallerSet",
            "metadata": {
                "creationTimestamp": "2026-04-03T00:12:31Z",
                "finalizers": [
                    "tektoninstallersets.operator.tekton.dev"
                ],
                "generateName": "validating-mutating-webhook-",
                "generation": 1,
                "labels": {
                    "operator.tekton.dev/created-by": "operator-webhook-init",
                    "operator.tekton.dev/type": "operatorValidatingDefaultingWebhook",
                    "operator.tekton.dev/webhook-unique-identifier": "tekton-operator-webhook-668b6fdd5d-6pprt"
                },
                "name": "validating-mutating-webhook-hqhbn",
                "resourceVersion": "19331",
                "uid": "9e951555-ae65-4b2f-a6f4-8ebb5e539768"
            },
            "spec": {
                "manifests": [
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "MutatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "app": "tekton-operator",
                                "name": "tekton-operator-webhook"
                            },
                            "name": "webhook.operator.tekton.dev"
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1beta1",
                                    "v1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-operator-webhook",
                                        "namespace": "openshift-operators"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "webhook.operator.tekton.dev",
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "ValidatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "app": "tekton-operator",
                                "name": "tekton-operator-webhook"
                            },
                            "name": "config.webhook.operator.tekton.dev"
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1beta1",
                                    "v1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-operator-webhook",
                                        "namespace": "openshift-operators"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "config.webhook.operator.tekton.dev",
                                "namespaceSelector": {
                                    "matchExpressions": [
                                        {
                                            "key": "operator.tekton.dev/release",
                                            "operator": "Exists"
                                        }
                                    ]
                                },
                                "sideEffects": "None"
                            }
                        ]
                    },
                    {
                        "apiVersion": "admissionregistration.k8s.io/v1",
                        "kind": "ValidatingWebhookConfiguration",
                        "metadata": {
                            "labels": {
                                "app": "tekton-operator",
                                "name": "tekton-operator-webhook"
                            },
                            "name": "validation.webhook.operator.tekton.dev"
                        },
                        "webhooks": [
                            {
                                "admissionReviewVersions": [
                                    "v1beta1",
                                    "v1"
                                ],
                                "clientConfig": {
                                    "service": {
                                        "name": "tekton-operator-webhook",
                                        "namespace": "openshift-operators"
                                    }
                                },
                                "failurePolicy": "Fail",
                                "name": "validation.webhook.operator.tekton.dev",
                                "sideEffects": "None"
                            }
                        ]
                    }
                ]
            },
            "status": {
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-03T00:12:32Z",
                        "status": "True",
                        "type": "AllDeploymentsReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:32Z",
                        "status": "True",
                        "type": "ClusterScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:32Z",
                        "status": "True",
                        "type": "ControllersReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:32Z",
                        "status": "True",
                        "type": "CrdsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:32Z",
                        "status": "True",
                        "type": "DeploymentsAvailable"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:32Z",
                        "status": "True",
                        "type": "JobsInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:32Z",
                        "status": "True",
                        "type": "NamespaceScopedResourcesInstalled"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:32Z",
                        "status": "True",
                        "type": "Ready"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:32Z",
                        "status": "True",
                        "type": "StatefulSetReady"
                    },
                    {
                        "lastTransitionTime": "2026-04-03T00:12:32Z",
                        "status": "True",
                        "type": "WebhooksReady"
                    }
                ]
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
