{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "Task",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "91308f2459c96a4caa43a658167612e0ceaeaf238ce5cd04b56d0830d6ea1b42",
                    "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-05-07T13:08:57Z",
                "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-nx5lx",
                        "uid": "673668a8-b212-467b-8d31-1f108564b5bd"
                    }
                ],
                "resourceVersion": "23032",
                "uid": "2f2a5407-ea8f-4cb4-9c11-d0070286d932"
            },
            "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": "6fb8b4a179d17fbf64f74421d7b2f21fc0dd202bc91ebdbe697513808159eec1",
                    "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-05-07T13:08:52Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22805",
                "uid": "30cd5b22-572b-4bcb-81cc-9192a1f1f04f"
            },
            "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": "2e7d61b6f44c18a99b64572aeb2c38164d292b90305fa234f24f520fc8a8a1a3",
                    "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-05-07T13:08:52Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22814",
                "uid": "b3f3f94d-5df0-4839-8863-9b6baadbf85f"
            },
            "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": "38b6a93a46212ba7e9d874faa255f9703bdfa85f4ea8f98afa43e7279ae316fd",
                    "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-05-07T13:08:52Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22813",
                "uid": "5e0c1e45-86bd-4a70-b358-0536db2e9185"
            },
            "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": "41fcf15dd8593594706c5c14094b37ff30810424a5075d563eff0ca889c22ce1",
                    "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-05-07T13:08:52Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22818",
                "uid": "3b37a720-58b0-4a30-b89f-750f3040621d"
            },
            "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": "c02aa0666efc7e425d3d1680a1ef60878fd8fbb6cc5d753f0ed50a65350107ea",
                    "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-05-07T13:08:52Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22816",
                "uid": "9fc767a5-1544-45bc-b75c-edd9c71c163b"
            },
            "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": "3179d35e589aefbed57df2168aa3e8ab92e5fb2c11deffee15dd9e9a72388634",
                    "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-05-07T13:08:52Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22821",
                "uid": "9c92cda7-689e-4ef9-ba27-c46b08b96ecb"
            },
            "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": "6e9701dbbfede2fb94e2413ae1d687f23680bcfdce13c8fbc6762731099430fe",
                    "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-05-07T13:08:52Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22819",
                "uid": "394f9482-117e-4751-985e-f5b80f4f4562"
            },
            "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": "ff93790b662566c808317843de3fd6a500ae2bdc5394eb8e8b513fc60c3bf43c",
                    "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-05-07T13:08:52Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22823",
                "uid": "21c8bbc3-5e1c-46cc-807a-e96aa2e33bde"
            },
            "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": "f3ec89ab60558cfd29f143939700e4b7df726a2f2f59625dca57d3055587e7f3",
                    "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-05-07T13:08:57Z",
                "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-nx5lx",
                        "uid": "673668a8-b212-467b-8d31-1f108564b5bd"
                    }
                ],
                "resourceVersion": "23022",
                "uid": "9f48655e-0137-4427-80d1-1ff09adb9b2d"
            },
            "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": "bccc3375cb34ff4e83098499a0c50187a895ee8b0a498c6b8d7a77e90b9692da",
                    "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-05-07T13:08:57Z",
                "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-nx5lx",
                        "uid": "673668a8-b212-467b-8d31-1f108564b5bd"
                    }
                ],
                "resourceVersion": "23020",
                "uid": "3ea649b3-68c1-47f4-8218-fe737a469899"
            },
            "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": "6de5fa3023167a205115fc3a1b40256c06e26be700553e044e6433e354a8f454",
                    "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-05-07T13:08:56Z",
                "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-nx5lx",
                        "uid": "673668a8-b212-467b-8d31-1f108564b5bd"
                    }
                ],
                "resourceVersion": "23017",
                "uid": "a00a1e10-f55c-4369-a405-eafd3d2855cf"
            },
            "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": "98f5c7cb2d133e63c3f45080ea7e7093f812d0bacbea00e29722c3cad88958a8",
                    "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-05-07T13:08:52Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22822",
                "uid": "bbe91bc2-4a73-4137-86d4-2abfe1ba17f7"
            },
            "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": "9c9649d7e966497a8a53b063b2e1cc6495b84fd250d7560951f0a5f5ad705d68",
                    "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-05-07T13:08:52Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22825",
                "uid": "f453ee3d-2c16-437e-8ccd-a91742192f3e"
            },
            "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": "49ccf1a9b4ff9ff16a8d496d4c9cd835224c01e73067ccb3504542f4d6164a51",
                    "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-05-07T13:08:52Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22824",
                "uid": "7f3794d7-23f6-4e8d-af45-9f7c366ad46e"
            },
            "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": "8bf29c358c8cea8028e914563c5c3abc88216f2bbdc048ed02e5892d38a800fd",
                    "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-05-07T13:08:52Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22827",
                "uid": "2c502d29-0b8e-43c9-af50-b55b02849520"
            },
            "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": "b82f86aec27310111ee7f06b682237c0ebfd3cb3de5a3ec19930641a8b3bc415",
                    "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-05-07T13:08:57Z",
                "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-nx5lx",
                        "uid": "673668a8-b212-467b-8d31-1f108564b5bd"
                    }
                ],
                "resourceVersion": "23028",
                "uid": "2c632591-1e7f-4828-80d3-84901f961490"
            },
            "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": "01baac9c45e484b7b0a254af932c11804d5d88046dd500f25c3e147c21f9de8a",
                    "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-05-07T13:08:52Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22826",
                "uid": "bd5156f3-deb9-4c2a-b016-900b8994187c"
            },
            "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": "95e9a6ad6f3e906e98b233181a3a55a0ddf081b2d35b092549c80c0fc65bd067",
                    "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-05-07T13:08:52Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22829",
                "uid": "ca4c09f5-8e09-4d89-b828-d645da0b5964"
            },
            "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": "3e9ded06e9cb8c067524d87d9f2e83381ca70f36e8e8c2e6dca04341c82294e7",
                    "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-05-07T13:08:52Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22828",
                "uid": "11fa3f15-d1c1-4756-99e8-15023a09bc7a"
            },
            "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": "dbef391ba0703fe11104e91b1bf84600380b1fcb8e44b11e5cdb5907146c1af8",
                    "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-05-07T13:08:52Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22835",
                "uid": "149826a1-c698-4fb9-9a9b-0ea15794eaeb"
            },
            "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": "b024d303a2745ee5e635ed6f8ed373c4af52c7c14caba9217018bc8a99e831e9",
                    "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-05-07T13:08:52Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22834",
                "uid": "e4eba8e9-15c3-482d-a1d7-e83f5a3058d4"
            },
            "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": "ed2828745e9402e5868fc47ef728a3b42b4d8a09ea81923b07166fa5f9968a67",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22842",
                "uid": "aaee381b-d603-48d7-a103-d89835cae8b4"
            },
            "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": "5acbc8c5596724e85718a0c815a4f8a7ae5f9f7cb64c702428d6358dccb5bdf5",
                    "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-05-07T13:08:57Z",
                "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-nx5lx",
                        "uid": "673668a8-b212-467b-8d31-1f108564b5bd"
                    }
                ],
                "resourceVersion": "23027",
                "uid": "636efe04-4f92-457d-97f5-c19a27abbd32"
            },
            "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": "7ba1727245f8a53605d9a995bdd3bb325a3629aca40d06790aec4c4a7df803e5",
                    "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-05-07T13:08:53Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22841",
                "uid": "93e04fd1-51a3-410d-a51c-71c7d817ffff"
            },
            "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": "2668f33dc61e10719f64f0f2b7c57b87629d05eb969c3a8c6a459baad676d7d8",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22844",
                "uid": "920b6161-779a-44a8-a55d-64f2472ca0ec"
            },
            "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": "2537a6d51e6ace807a51951dc91b03d0faedb833a9352b28ec4bccf401796868",
                    "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-05-07T13:08:53Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22843",
                "uid": "e30ae227-18f8-4242-b5a1-5b9a2666ae69"
            },
            "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": "6d08f419a97d155c347a86b6ddeab1bfcb3da59c093f8787f0b3afb3f6f669f3",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22847",
                "uid": "f2a7ffed-03b8-4f51-bce1-d590de68aadc"
            },
            "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": "a2e6325c4f003b7a772921926a323a3fdb526f3f36466087cf06f470eac98fa5",
                    "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-05-07T13:08:53Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22845",
                "uid": "8d8c0cb7-7c09-4753-b3c0-508a0d3b3c77"
            },
            "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": "38142d272f0567174a000ffe94067acf901d0b29e21a4ab92d6f5165e1538f71",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22854",
                "uid": "2b27527d-0497-4c4c-8ade-5da22e3e97c5"
            },
            "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": "3051c32f1a8d85566d5d9814dd5d7832372b8ea618abf3194ba245f5a21b819b",
                    "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-05-07T13:08:53Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22852",
                "uid": "1497b481-d8ea-40d6-a5af-b571232349c9"
            },
            "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": "204a6e375bfb5387cc0e369641ccb3f9104dec99f7a3eaa044b6c730279a3b66",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22858",
                "uid": "1c08a83f-1c10-447a-90c2-f6edf3b3ee47"
            },
            "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": "402e077214851f94cb0459358e35f48e1ef4cae6f8a3a24c4ad76fd817f0c9e0",
                    "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-05-07T13:08:53Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22855",
                "uid": "840cdbbd-d62a-4eb7-97f3-080ef1fb3316"
            },
            "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": "782cceb0026a3df9d3061d09c4fd075aa6432b3212e933f52113bc56a68ccde6",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22867",
                "uid": "6070e447-4049-4540-94db-a837c0c61c0e"
            },
            "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": "6c0efd9ca6a4cbd2926700d008115fcd9786032c5d1d2eccf055d776a048bcd9",
                    "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-05-07T13:08:53Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22859",
                "uid": "e5d4d361-cfe5-43b2-b293-e113cf909dc7"
            },
            "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": "12c5dd3e33c5e495721f7cab11dd7e9661e4c8e054cd6a9881b72ad32eb27afa",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22870",
                "uid": "4b976181-fcd0-41da-8693-ed206a04547b"
            },
            "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": "62bb32b11285cae092786bd4c75c07ce408bfa111cf720380aefbe18ac2d3ce1",
                    "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-05-07T13:08:53Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22868",
                "uid": "32e4e8ad-b50c-4d02-8ded-0e97c494c70d"
            },
            "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": "dba4728128ac5b5ce10f1a6207ca29e93222c64dd01aec23ddd2af680da799bf",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22874",
                "uid": "0e9fc695-617e-4ea2-8b47-26d4837ba12a"
            },
            "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": "651b92b8e9e44cf1734251cab2f2c07658585c1acb4e75403c285286c174b01b",
                    "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-05-07T13:08:53Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22872",
                "uid": "383fc751-b2ff-4466-ac15-7a2a881c35a9"
            },
            "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": "49385284c8ca45d227160db84d65bec2e708e25dcd61d270b7d9fe1c2ed531ed",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22876",
                "uid": "7a8f458c-c01a-47fe-97ea-8429c12181e1"
            },
            "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": "bff1ccbef0847c7823f03c610db3ad8440eb84666da6a67d7e57cf010da21059",
                    "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-05-07T13:08:53Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22875",
                "uid": "91e3abf5-8c13-4da9-860a-a3b2a4893303"
            },
            "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": "f5b317dda8194f4329a0f9647554adb4ed969de5d6a486c46d3a848e792064f3",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22878",
                "uid": "20c635e3-68ad-4a30-a61a-f29f0c03f334"
            },
            "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": "4ccf19899434802dfbbeb3443d6c08cbf89d4ed83afd7dc3e6779eb78eab3d30",
                    "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-05-07T13:08:53Z",
                "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-6vnxk",
                        "uid": "285a6d9a-1de8-45b0-bfd7-9484ea91b2fe"
                    }
                ],
                "resourceVersion": "22877",
                "uid": "b135d498-8fcf-41e6-a19f-d17fffb832d6"
            },
            "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:fe4ff846b09ed306eee2b2f13dae61573ea28ae93f812e97ce1241f64ea457b0",
                        "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": "57cfdfc92bc2eb10d2c43dfb7776ac7f3809328bfdbe3dd467e08bc769a802e8",
                    "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-05-07T13:08:53Z",
                "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-k9r75",
                        "uid": "49d98ac3-ec7d-4139-a339-3a51c544caa5"
                    }
                ],
                "resourceVersion": "22882",
                "uid": "62a48a77-bf2e-469b-b5ca-029995dc436b"
            },
            "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:fe4ff846b09ed306eee2b2f13dae61573ea28ae93f812e97ce1241f64ea457b0",
                        "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": "29d7bc81e96bbb24f7c57b4dcaad7686cc2db25a59322ad43ffd8a28f844d408",
                    "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-05-07T13:08:57Z",
                "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-nx5lx",
                        "uid": "673668a8-b212-467b-8d31-1f108564b5bd"
                    }
                ],
                "resourceVersion": "23023",
                "uid": "1f4a3542-c60b-4991-b9cb-78e787b1a80e"
            },
            "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": ""
    }
}
