{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "Task",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "e0e5999aa6a9cbb4f4981bb5945ebc57dfb5d89250f6dc96a654df267f49f81d",
                    "tekton.dev/categories": "Deployment",
                    "tekton.dev/displayName": "argocd",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/platforms": "linux/amd64",
                    "tekton.dev/tags": "deploy"
                },
                "creationTimestamp": "2026-03-31T04:03:28Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-communityresolvertask-mvr78",
                        "uid": "0f06f462-d33e-4411-9e04-a3ae081a5998"
                    }
                ],
                "resourceVersion": "22513",
                "uid": "19dba351-1644-4508-9f85-40c5cb6e3fc7"
            },
            "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": {
                    "computeResources": {},
                    "envFrom": [
                        {
                            "configMapRef": {
                                "name": "argocd-env-configmap"
                            }
                        },
                        {
                            "secretRef": {
                                "name": "argocd-env-secret"
                            }
                        }
                    ]
                },
                "steps": [
                    {
                        "computeResources": {},
                        "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"
                    }
                ]
            }
        },
        {
            "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",
                    "operator.tekton.dev/last-applied-hash": "04a9191d3157e02ee53f5912d3129660a68631b48a5c36ce4eadc4af4accc9a6",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22276",
                "uid": "bff68536-e1f4-4101-ab70-bc9c6290f07f"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "b687d34764af380663d16e2e8892bc0984c6123bdcbe762d8523779c6182ad91",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22293",
                "uid": "11928a59-888d-426f-ae44-c8b31e3201b4"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "1337db299867e91fe2e76c58343d3a904437f97ea4dca311a6e12e9ed3fed6a3",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22281",
                "uid": "cc27c92f-e5cf-4bbc-b778-494ef44808be"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "f04a435c289f75be65c29d84facb25950d016f17a54b788ef066314c31025985",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22296",
                "uid": "81463b60-c67c-403b-bd2e-8445ba4b04e3"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "d410eeabaa989a59e41e4b3eae4ea55e74cd6d4b99659055abbc7282af9a7566",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22291",
                "uid": "a1593bbe-57f3-4830-b007-002d3f67f263"
            },
            "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",
                        "type": "string"
                    }
                ],
                "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": [
                    {
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "6b776cf1968b8019d6b453b020839caeb64ca78063051c8112d44e511f50a6a2",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22298",
                "uid": "f17e5306-8eec-4f3c-ba31-bc385da2d794"
            },
            "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",
                        "type": "string"
                    }
                ],
                "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": [
                    {
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "eab9207b1a6dc31fca17b1c7a5f101ca23ff40047242b1afc44b0da6291d39d1",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22295",
                "uid": "8dbe9d73-3449-41d1-986b-095e31b49e6a"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "The precise repository URL.\n",
                        "name": "URL",
                        "type": "string"
                    },
                    {
                        "description": "The epoch timestamp of the commit cloned.\n",
                        "name": "COMMITTER_DATE",
                        "type": "string"
                    }
                ],
                "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": [
                    {
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "e22bf666d552922dc11db2cb63f44fdebad03ed05153994017cf517bedbf5733",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22301",
                "uid": "b5de98e0-9013-4bf7-b997-90fb5bf2aaa8"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "The precise repository URL.\n",
                        "name": "URL",
                        "type": "string"
                    },
                    {
                        "description": "The epoch timestamp of the commit cloned.\n",
                        "name": "COMMITTER_DATE",
                        "type": "string"
                    }
                ],
                "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": [
                    {
                        "computeResources": {},
                        "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": {
                    "operator.tekton.dev/last-applied-hash": "169f0d903ed86b26d93a5287827a263e6d25f44d1ecdda252d9123fc2eedd1fa",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:28Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-communityresolvertask-mvr78",
                        "uid": "0f06f462-d33e-4411-9e04-a3ae081a5998"
                    }
                ],
                "resourceVersion": "22500",
                "uid": "e3381a83-1ebe-436f-a189-d03e42537117"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "description": "Specify chart name that will be deployed",
                        "name": "chart_name",
                        "type": "string"
                    },
                    {
                        "default": "v1.0.0",
                        "description": "The helm release version in semantic versioning format",
                        "name": "release_version",
                        "type": "string"
                    },
                    {
                        "default": "helm-release",
                        "description": "The helm release name",
                        "name": "release_name",
                        "type": "string"
                    },
                    {
                        "default": "",
                        "description": "The helm release namespace",
                        "name": "release_namespace",
                        "type": "string"
                    },
                    {
                        "default": "",
                        "description": "Specify the values you want to overwrite, comma separated: autoscaling.enabled=true,replicas=1",
                        "name": "overwrite_values",
                        "type": "string"
                    },
                    {
                        "default": "docker.io/lachlanevenson/k8s-helm@sha256:5c792f29950b388de24e7448d378881f68b3df73a7b30769a6aa861061fd08ae",
                        "description": "Specify a specific helm image",
                        "name": "helm_image",
                        "type": "string"
                    }
                ],
                "steps": [
                    {
                        "computeResources": {},
                        "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/v1",
            "kind": "Task",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "8351f4696689df92be2f3352bdbd8dda4e172395bd3c26a8f426b3d88ca892f3",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:27Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-communityresolvertask-mvr78",
                        "uid": "0f06f462-d33e-4411-9e04-a3ae081a5998"
                    }
                ],
                "resourceVersion": "22498",
                "uid": "4f84604c-abb6-4ac6-bd98-a4d17dedab9f"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "default": "v1.0.0",
                        "description": "The helm release version in semantic versioning format",
                        "name": "release_version",
                        "type": "string"
                    },
                    {
                        "default": "helm-release",
                        "description": "The helm release name",
                        "name": "release_name",
                        "type": "string"
                    },
                    {
                        "default": "",
                        "description": "The helm release namespace",
                        "name": "release_namespace",
                        "type": "string"
                    },
                    {
                        "default": "",
                        "description": "Specify the values you want to overwrite, comma separated: autoscaling.enabled=true,replicas=1",
                        "name": "overwrite_values",
                        "type": "string"
                    },
                    {
                        "default": "values.yaml",
                        "description": "The values file to be used",
                        "name": "values_file",
                        "type": "string"
                    },
                    {
                        "default": "docker.io/lachlanevenson/k8s-helm@sha256:5c792f29950b388de24e7448d378881f68b3df73a7b30769a6aa861061fd08ae",
                        "description": "helm image to be used",
                        "name": "helm_image",
                        "type": "string"
                    },
                    {
                        "default": "",
                        "description": "Extra parameters passed for the helm upgrade command",
                        "name": "upgrade_extra_params",
                        "type": "string"
                    }
                ],
                "steps": [
                    {
                        "computeResources": {},
                        "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/v1",
            "kind": "Task",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "5799c99b188ab9bb9497eea4cbe7f4da05f1b81c399fe5b69efd0233c8743867",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:27Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-communityresolvertask-mvr78",
                        "uid": "0f06f462-d33e-4411-9e04-a3ae081a5998"
                    }
                ],
                "resourceVersion": "22496",
                "uid": "aafd034e-b8f1-4e86-a11a-0995abd0213e"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "default": "empty-dir-volume",
                        "description": "The name of the volume for caching Maven artifacts and base image layers",
                        "name": "CACHE",
                        "type": "string"
                    },
                    {
                        "default": "false",
                        "description": "Whether to allow insecure registry",
                        "name": "INSECUREREGISTRY",
                        "type": "string"
                    },
                    {
                        "default": "service-ca.crt",
                        "description": "CA cert file name for insecure registry service",
                        "name": "CACERTFILE",
                        "type": "string"
                    }
                ],
                "results": [
                    {
                        "description": "Digest of the image just built.",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "steps": [
                    {
                        "computeResources": {},
                        "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)"
                    },
                    {
                        "computeResources": {},
                        "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/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",
                    "operator.tekton.dev/last-applied-hash": "1eb6d4ec282b1d7f5d63e90af7d50813b59789620f7ea72ca8a516a7d73487e8",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22297",
                "uid": "3170bd20-2156-4dd4-b3b4-a1623f696501"
            },
            "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"
                        ],
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "f7c87ea89e83d93fa98bae2772a45b65e1028c23d6e62080b4d418daa66c95bb",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22304",
                "uid": "51afb1bd-d6cb-486e-b50c-916acc1400c7"
            },
            "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"
                        ],
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "bdabd2ce7db2431dfc8e540a9d75c15d617fe518d6791c787e7f0d1391f0cbac",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22300",
                "uid": "d47e572e-3299-4d71-bba7-4571c1513f3f"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "description": "Image to deploy",
                        "name": "IMAGE",
                        "type": "string"
                    }
                ],
                "steps": [
                    {
                        "args": [
                            "service",
                            "apply",
                            "$(params.SERVICE)",
                            "--image",
                            "$(params.IMAGE)"
                        ],
                        "command": [
                            "/ko-app/kn"
                        ],
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "69d9234d4e5bbe7d5ec245d1e41a2a8b4dc95ed911853b35a0163e04d0cff6c2",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22309",
                "uid": "edef4008-4f41-411e-8ced-2c697f2ec5ba"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "description": "Image to deploy",
                        "name": "IMAGE",
                        "type": "string"
                    }
                ],
                "steps": [
                    {
                        "args": [
                            "service",
                            "apply",
                            "$(params.SERVICE)",
                            "--image",
                            "$(params.IMAGE)"
                        ],
                        "command": [
                            "/ko-app/kn"
                        ],
                        "computeResources": {},
                        "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": {
                    "operator.tekton.dev/last-applied-hash": "f2789a3b3f45edba204264968912e8398654c6e4d6547d10d54504ba2850fb9b",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:28Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-communityresolvertask-mvr78",
                        "uid": "0f06f462-d33e-4411-9e04-a3ae081a5998"
                    }
                ],
                "resourceVersion": "22511",
                "uid": "e52426a5-708d-4929-94c6-1452488498b0"
            },
            "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"
                        ],
                        "computeResources": {},
                        "image": "ghcr.io/tektoncd/github.com/tektoncd/pipeline/cmd/kubeconfigwriter@sha256:b2c6d0962cda88fb3095128b6202da9b0e6c9c0df3ef6cf7863505ffd25072fd",
                        "name": "write"
                    }
                ],
                "workspaces": [
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "1432083223e8d1cfa721080787b3206887e9e6dd0476de5940d09055464ed610",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22302",
                "uid": "f03c12a5-d9df-4b38-8857-5f559dc23a1d"
            },
            "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": {
                    "computeResources": {},
                    "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": [
                    {
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "dfea770bdf04d9c2649ea022618ba0a526176af7f656012b556a84e0ed7ac5eb",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22312",
                "uid": "6a89e6cb-9e32-4244-845e-9b281939949d"
            },
            "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": {
                    "computeResources": {},
                    "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": [
                    {
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "8816a4547e942c61834fe853a9b4c02d9e595753cb5dd842e719d5a4e242b48d",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22306",
                "uid": "45a60da7-5eae-4a1e-9c31-761e2f0ab6aa"
            },
            "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": {
                    "computeResources": {},
                    "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)"
                        ],
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "c7c2cf93639244061e9d72d819a3f22c75db09824828af6bc37b465b21d7c0ce",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22314",
                "uid": "f0c2fa95-e3f0-45c9-a8b8-ba5fa2fad3b0"
            },
            "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": {
                    "computeResources": {},
                    "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)"
                        ],
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "0b393430c6fd968e87207b53148b8d5d7509bbbe39e0283307a562bb5aaaeaa6",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:23Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22311",
                "uid": "da3cc1e9-41b7-4dd7-bacb-4749b0424d85"
            },
            "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": {
                    "computeResources": {},
                    "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": [
                    {
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "ee78ff176e9a1d84bb78384c7707a839d493c06b102fa17a2ca4cbd0cf1077cf",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22316",
                "uid": "cec98482-7967-46c8-ac91-ed48f85029e1"
            },
            "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": {
                    "computeResources": {},
                    "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": [
                    {
                        "computeResources": {},
                        "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": {
                    "operator.tekton.dev/last-applied-hash": "f941d1836bee371eb340dc7670952be8d6a5afded00f0d0227d9eb666ef2f2f0",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:28Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-communityresolvertask-mvr78",
                        "uid": "0f06f462-d33e-4411-9e04-a3ae081a5998"
                    }
                ],
                "resourceVersion": "22510",
                "uid": "9615e7e2-e83b-4437-9b58-d84c0a57352a"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "description": "The URL of the Pull Reuqest, e.g. `https://github.com/bobcatfish/catservice/pull/16`",
                        "name": "url",
                        "type": "string"
                    },
                    {
                        "description": "The type of SCM system, currently `github` or `gitlab`",
                        "name": "provider",
                        "type": "string"
                    },
                    {
                        "description": "The name of an opaque secret containing a key called \"token\" with a base64 encoded SCM token",
                        "name": "secret-key-ref",
                        "type": "string"
                    },
                    {
                        "default": "false",
                        "description": "If \"true\", certificate validation will be disabled",
                        "name": "insecure-skip-tls-verify",
                        "type": "string"
                    }
                ],
                "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"
                        ],
                        "computeResources": {},
                        "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/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",
                    "operator.tekton.dev/last-applied-hash": "bf28c3425ee2f7dfd106e94dd4f2f57bad045799847e50888d00592fe17fe397",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22313",
                "uid": "7afca22d-bafd-4d31-9bcb-f81ba87d8917"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "29e7d2488b9e74032c0e050dd071871d890dd569f3d0524564ab9a4dbff9711f",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22318",
                "uid": "e09ef613-4325-489c-8d10-f980dcab3dbb"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "1f169c436f4429162cb883b11c46f2dea244f24991225611f8e4788a63877416",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22315",
                "uid": "abd9c4a0-65c6-4d2f-aa47-a5f7239e1489"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "1d2f1a933f402bb8544cab20de0f3b29b977400d9a4186b09d3444349980f06c",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22320",
                "uid": "2800bc31-a996-4e5c-8a57-d39281d35a98"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "3157a62619ffe2a3f08e0fca23efaeba7213a8c1ab293d7f65b118ffa14fd20f",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22317",
                "uid": "fc8141a8-e980-4a8f-8803-72a50e352de8"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "f9b393616ead85720b6dd21a1d8989542aa3bd4ac6127ba96d8a83fdbb25c602",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22326",
                "uid": "b07f32df-276d-46bc-9545-4d886694d1b2"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "f06075173b1d7a4623ddaa35c750bcb0ba71cd8e259a556bd7a60799f7dc3e0b",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22319",
                "uid": "d07a3804-ffea-41fb-bcd9-2df3f0ef2c53"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "493bab8c67fbfebbb32aa1e70cc89a0a17749d673264f748de109a3c8f8847f2",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22332",
                "uid": "949fd6a5-6ce1-4e7e-a5f7-2d2d40fcb312"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "08a75028884a9ab1ed4262c5b0487524d0b451633029b4ce3a00e8bf098b1bb6",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22322",
                "uid": "f5a18a66-30cf-42e8-a3f4-80c17fb37b7f"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "e69748d0b87a1492af9973b045afc1e9c04125c56be47865b97e602fe47869a5",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22336",
                "uid": "8f05401d-29ef-485c-95ff-6ae99c6d7754"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "dfed96c1f1bec8f2e26d07466e1a61e74546c499d85100999333b78509ac4e74",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22330",
                "uid": "11004f19-3dbb-4cf0-8109-26915b95f982"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "5550bc5f20660493e0b6903156866d9f8e700b243d07101f0e2af6b1899a8ff1",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22338",
                "uid": "2cdfea33-a548-4413-baa0-b9f2035080ea"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "2b283a6269df4a904a920535730e2bdaed267232bca96b70c44b9ed00ae15401",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22333",
                "uid": "58ec9629-f9ad-485d-a030-ba0de45ef6cb"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "6bda107af238ce0a98104b7a5fb0e0d800312c990314a7cc10840af3f73fd36a",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22341",
                "uid": "82b65776-2851-46fe-93ae-815845fdef0a"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "0477c1bec85e8d762c818b8c9670f2d78ad5fda60262169745da5ae0c39d4b90",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22337",
                "uid": "b0ff547b-6035-41c8-b74a-eca65007d73a"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "ef1be56aa567ac161dfefe4f0a9fce3d7d38fb79b14e364779d3edad79b9db8e",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22343",
                "uid": "8aaee122-6a85-4568-b19b-3cd14232c485"
            },
            "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "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",
                        "type": "string"
                    },
                    {
                        "description": "Digest of the image just built.\n",
                        "name": "IMAGE_DIGEST",
                        "type": "string"
                    }
                ],
                "stepTemplate": {
                    "computeResources": {},
                    "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[*])"
                        ],
                        "computeResources": {},
                        "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"
                        ],
                        "computeResources": {},
                        "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"
                    },
                    {
                        "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",
                    "operator.tekton.dev/last-applied-hash": "5395c56daa3d06ee85756a9c21b41ccea60cbdc13e41a906a3663294c80535c0",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22339",
                "uid": "76443c02-7f6b-4edf-b175-82cf8bd01c95"
            },
            "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": {
                    "computeResources": {},
                    "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": [
                    {
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "3ff11cde20e92fcb1d9ff504a1b4a3725d7a0aeadaeb5f77d4de7a513e7fb279",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22345",
                "uid": "e5a76401-3455-465e-bf3d-6c327e08b143"
            },
            "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": {
                    "computeResources": {},
                    "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": [
                    {
                        "computeResources": {},
                        "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",
                    "operator.tekton.dev/last-applied-hash": "4a1ef87dbae26d49f6192060615c9f0178147483af562637acf5a41efb86ac7b",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-resolvertask-c875p",
                        "uid": "399773f1-ef70-4e90-8334-5c0cf778e3cd"
                    }
                ],
                "resourceVersion": "22342",
                "uid": "f0afc78e-1eeb-485c-9ce4-6ff57b2e2f45"
            },
            "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": {
                    "computeResources": {},
                    "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)"
                        ],
                        "computeResources": {},
                        "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": "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",
                    "operator.tekton.dev/last-applied-hash": "b27be0a185cfd43597397e2e9016747df782560730de59eebc9b43228d88865e",
                    "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"
                },
                "creationTimestamp": "2026-03-31T04:03:24Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-versioned-resolvertasks-1.20-fr5fp",
                        "uid": "c4e75a1d-a223-4190-bf16-a9f40e53a44b"
                    }
                ],
                "resourceVersion": "22347",
                "uid": "de8d4f60-0d53-4858-b52b-2e9f2790c4a5"
            },
            "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": {
                    "computeResources": {},
                    "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)"
                        ],
                        "computeResources": {},
                        "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": "tekton.dev/v1",
            "kind": "Task",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "f19f2afffd35072cdd96ce416df59b03218006dfd185776180c57a15ede9191c",
                    "tekton.dev/categories": "Automation, Continuous Integration",
                    "tekton.dev/displayName": "trigger jenkins job",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "jenkins, build"
                },
                "creationTimestamp": "2026-03-31T04:03:28Z",
                "generation": 1,
                "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": "TektonInstallerSet",
                        "name": "addon-custom-communityresolvertask-mvr78",
                        "uid": "0f06f462-d33e-4411-9e04-a3ae081a5998"
                    }
                ],
                "resourceVersion": "22502",
                "uid": "f1fe149e-1a78-408c-9353-6f0400f4066a"
            },
            "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)"
                        ],
                        "computeResources": {},
                        "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"
                    }
                ]
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
