{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T10:16:39Z",
                "name": "kube-root-ca.crt",
                "namespace": "cert-manager",
                "resourceVersion": "4074",
                "uid": "9f414c85-0845-4c50-aaa4-231463e82aa4"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T09:03:07Z",
                "name": "kube-root-ca.crt",
                "namespace": "default",
                "resourceVersion": "306",
                "uid": "aee4fdd8-c2b5-4a01-bda9-f167a8e1aabe"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "prune_images.py": "import argparse\nimport itertools\nimport json\nimport logging\nimport os\nimport re\nimport time\n\nfrom collections.abc import Iterator\nfrom http.client import HTTPResponse\nfrom typing import Any, Dict, List\nfrom urllib.error import HTTPError\nfrom urllib.parse import urlencode\nfrom urllib.request import Request, urlopen\n\nlogging.basicConfig(\n    format=\"%(asctime)s - %(levelname)s - %(message)s\", level=logging.INFO\n)\nLOGGER = logging.getLogger(__name__)\nQUAY_API_URL = \"https://quay.io/api/v1\"\n\nprocessed_repos_counter = itertools.count()\n\n\nImageRepo = Dict[str, Any]\n\n\ndef get_quay_tags(quay_token: str, namespace: str, name: str) -\u003e Dict[str, Any]:\n    next_page = None\n    resp: HTTPResponse\n\n    all_tags = {}\n    while True:\n        query_args = {\"limit\": 100, \"onlyActiveTags\": True}\n        if next_page is not None:\n            query_args[\"page\"] = next_page\n\n        api_url = f\"{QUAY_API_URL}/repository/{namespace}/{name}/tag/?{urlencode(query_args)}\"\n        request = Request(api_url, headers={\n            \"Authorization\": f\"Bearer {quay_token}\",\n        })\n\n        try:\n            with urlopen(request) as resp:\n                if resp.status != 200:\n                    raise RuntimeError(resp.reason)\n                json_data = json.loads(resp.read())\n        except HTTPError as ex:\n            if ex.status == 404:\n                LOGGER.info(\"Repository doesn't exist anymore %s/%s\", namespace, name)\n                return {}\n\n            if ex.status == 502 or ex.status == 504:\n                LOGGER.info(\"Gateway error, will retry\")\n                time.sleep(1)\n                continue\n            raise\n        except json.JSONDecodeError:\n            LOGGER.info(\"Json decoder error, will retry\")\n            continue\n\n        tags = json_data.get(\"tags\", [])\n        # store only name \u0026 manifest_digest keys, as others aren't used and take memory\n        all_tags.update({tag[\"name\"]: tag[\"manifest_digest\"] for tag in tags})\n\n        if not tags:\n            LOGGER.debug(\"No tags found.\")\n            break\n\n        page = json_data.get(\"page\", None)\n        additional = json_data.get(\"has_additional\", False)\n\n        if additional:\n            next_page = page + 1\n        else:\n            break\n\n    return all_tags\n\n\ndef delete_image_tag(quay_token: str, namespace: str, name: str, tag: str) -\u003e None:\n    api_url = f\"{QUAY_API_URL}/repository/{namespace}/{name}/tag/{tag}\"\n    request = Request(api_url, method=\"DELETE\", headers={\n        \"Authorization\": f\"Bearer {quay_token}\",\n    })\n    resp: HTTPResponse\n    try:\n        with urlopen(request) as resp:\n            if resp.status != 200 and resp.status != 204:\n                raise RuntimeError(resp.reason)\n\n    except HTTPError as ex:\n        # ignore if not found\n        if ex.status != 404:\n            raise(ex)\n\n\ndef manifest_exists(quay_token: str, namespace: str, name: str, manifest: str) -\u003e bool:\n    api_url = f\"{QUAY_API_URL}/repository/{namespace}/{name}/manifest/{manifest}\"\n    request = Request(api_url, headers={\n        \"Authorization\": f\"Bearer {quay_token}\",\n    })\n    resp: HTTPResponse\n    manifest_exists = True\n    try:\n        with urlopen(request) as resp:\n            if resp.status != 200 and resp.status != 204:\n                raise RuntimeError(resp.reason)\n\n    except HTTPError as ex:\n        if ex.status != 404:\n            raise(ex)\n        else:\n            manifest_exists = False\n\n    return manifest_exists\n\n\ndef remove_tags(tags_map: Dict[str, Any], quay_token: str, namespace: str, name: str, dry_run: bool = False) -\u003e None:\n    image_digests = set(tags_map.values())\n    # sha without any extension is clair report\n    tag_regex = re.compile(r\"^sha256-([0-9a-f]+)(\\.sbom|\\.att|\\.src|\\.sig|\\.dockerfile)?$\")\n    manifests_checked = {}\n    for tag_name in tags_map:\n        # attestation or sbom image\n        if (match := tag_regex.match(tag_name)) is not None:\n            if f\"sha256:{match.group(1)}\" not in image_digests:\n                # verify that manifest really doesn't exist, because if tag was removed, it won't be in tag list, but may still be in the registry\n                manifest_existence = manifests_checked.get(f\"sha256:{match.group(1)}\")\n                if manifest_existence is None:\n                    manifest_existence = manifest_exists(quay_token, namespace, name, f\"sha256:{match.group(1)}\")\n                    manifests_checked[f\"sha256:{match.group(1)}\"] = manifest_existence\n\n                if not manifest_existence:\n                    if dry_run:\n                        LOGGER.info(\"Tag %s from %s/%s should be removed\", tag_name, namespace, name)\n                    else:\n                        LOGGER.info(\"Removing tag %s from %s/%s\", tag_name, namespace, name)\n                        delete_image_tag(quay_token, namespace, name, tag_name)\n\n        elif tag_name.endswith(\".src\"):\n            to_delete = False\n\n            binary_tag = tag_name.removesuffix(\".src\")\n            if binary_tag not in tags_map:\n                to_delete = True\n            else:\n                manifest_digest = tags_map[binary_tag]\n                new_src_tag = f\"{manifest_digest.replace(':', '-')}.src\"\n                to_delete = new_src_tag in tags_map\n\n            if to_delete:\n                LOGGER.info(\"Removing deprecated tag %s\", tag_name)\n                delete_image_tag(quay_token, namespace, name, tag_name)\n        else:\n            LOGGER.debug(\"%s is not in a known type to be deleted.\", tag_name)\n\n\ndef process_repositories(repos: List[ImageRepo], quay_token: str, dry_run: bool = False) -\u003e None:\n    for repo in repos:\n        namespace = repo[\"namespace\"]\n        name = repo[\"name\"]\n        # skip huge repository for which we can't get all tags\n        if name == \"ocp-art-tenant/art-images\":\n            continue\n        LOGGER.info(\"Processing repository %s: %s/%s\", next(processed_repos_counter), namespace, name)\n\n        all_tags = get_quay_tags(quay_token, namespace, name)\n\n        if not all_tags:\n            continue\n\n        remove_tags(all_tags, quay_token, namespace, name, dry_run=dry_run)\n\n\ndef fetch_image_repos(access_token: str, namespace: str) -\u003e Iterator[List[ImageRepo]]:\n    next_page = None\n    resp: HTTPResponse\n    while True:\n        query_args = {\"namespace\": namespace}\n        if next_page is not None:\n            query_args[\"next_page\"] = next_page\n\n        api_url = f\"{QUAY_API_URL}/repository?{urlencode(query_args)}\"\n        request = Request(api_url, headers={\n            \"Authorization\": f\"Bearer {access_token}\",\n        })\n\n        try:\n            with urlopen(request) as resp:\n                if resp.status != 200:\n                    raise RuntimeError(resp.reason)\n                json_data = json.loads(resp.read())\n        except json.JSONDecodeError:\n            LOGGER.info(\"Json decoder error, will retry\")\n            continue\n\n        repos = json_data.get(\"repositories\", [])\n        if not repos:\n            LOGGER.debug(\"No image repository is found.\")\n            break\n\n        yield repos\n\n        if (next_page := json_data.get(\"next_page\", None)) is None:\n            break\n\n\ndef main():\n    token = os.getenv(\"QUAY_TOKEN\")\n    if not token:\n        raise ValueError(\"The token required for access to Quay API is missing!\")\n\n    args = parse_args()\n\n    for image_repos in fetch_image_repos(token, args.namespace):\n        process_repositories(image_repos, token, dry_run=args.dry_run)\n\n\ndef parse_args():\n    parser = argparse.ArgumentParser()\n    parser.add_argument(\"--namespace\", required=True)\n    parser.add_argument(\"--dry-run\", action=\"store_true\")\n    args = parser.parse_args()\n    return args\n\n\nif __name__ == \"__main__\":\n    main()\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"prune_images.py\":\"import argparse\\nimport itertools\\nimport json\\nimport logging\\nimport os\\nimport re\\nimport time\\n\\nfrom collections.abc import Iterator\\nfrom http.client import HTTPResponse\\nfrom typing import Any, Dict, List\\nfrom urllib.error import HTTPError\\nfrom urllib.parse import urlencode\\nfrom urllib.request import Request, urlopen\\n\\nlogging.basicConfig(\\n    format=\\\"%(asctime)s - %(levelname)s - %(message)s\\\", level=logging.INFO\\n)\\nLOGGER = logging.getLogger(__name__)\\nQUAY_API_URL = \\\"https://quay.io/api/v1\\\"\\n\\nprocessed_repos_counter = itertools.count()\\n\\n\\nImageRepo = Dict[str, Any]\\n\\n\\ndef get_quay_tags(quay_token: str, namespace: str, name: str) -\\u003e Dict[str, Any]:\\n    next_page = None\\n    resp: HTTPResponse\\n\\n    all_tags = {}\\n    while True:\\n        query_args = {\\\"limit\\\": 100, \\\"onlyActiveTags\\\": True}\\n        if next_page is not None:\\n            query_args[\\\"page\\\"] = next_page\\n\\n        api_url = f\\\"{QUAY_API_URL}/repository/{namespace}/{name}/tag/?{urlencode(query_args)}\\\"\\n        request = Request(api_url, headers={\\n            \\\"Authorization\\\": f\\\"Bearer {quay_token}\\\",\\n        })\\n\\n        try:\\n            with urlopen(request) as resp:\\n                if resp.status != 200:\\n                    raise RuntimeError(resp.reason)\\n                json_data = json.loads(resp.read())\\n        except HTTPError as ex:\\n            if ex.status == 404:\\n                LOGGER.info(\\\"Repository doesn't exist anymore %s/%s\\\", namespace, name)\\n                return {}\\n\\n            if ex.status == 502 or ex.status == 504:\\n                LOGGER.info(\\\"Gateway error, will retry\\\")\\n                time.sleep(1)\\n                continue\\n            raise\\n        except json.JSONDecodeError:\\n            LOGGER.info(\\\"Json decoder error, will retry\\\")\\n            continue\\n\\n        tags = json_data.get(\\\"tags\\\", [])\\n        # store only name \\u0026 manifest_digest keys, as others aren't used and take memory\\n        all_tags.update({tag[\\\"name\\\"]: tag[\\\"manifest_digest\\\"] for tag in tags})\\n\\n        if not tags:\\n            LOGGER.debug(\\\"No tags found.\\\")\\n            break\\n\\n        page = json_data.get(\\\"page\\\", None)\\n        additional = json_data.get(\\\"has_additional\\\", False)\\n\\n        if additional:\\n            next_page = page + 1\\n        else:\\n            break\\n\\n    return all_tags\\n\\n\\ndef delete_image_tag(quay_token: str, namespace: str, name: str, tag: str) -\\u003e None:\\n    api_url = f\\\"{QUAY_API_URL}/repository/{namespace}/{name}/tag/{tag}\\\"\\n    request = Request(api_url, method=\\\"DELETE\\\", headers={\\n        \\\"Authorization\\\": f\\\"Bearer {quay_token}\\\",\\n    })\\n    resp: HTTPResponse\\n    try:\\n        with urlopen(request) as resp:\\n            if resp.status != 200 and resp.status != 204:\\n                raise RuntimeError(resp.reason)\\n\\n    except HTTPError as ex:\\n        # ignore if not found\\n        if ex.status != 404:\\n            raise(ex)\\n\\n\\ndef manifest_exists(quay_token: str, namespace: str, name: str, manifest: str) -\\u003e bool:\\n    api_url = f\\\"{QUAY_API_URL}/repository/{namespace}/{name}/manifest/{manifest}\\\"\\n    request = Request(api_url, headers={\\n        \\\"Authorization\\\": f\\\"Bearer {quay_token}\\\",\\n    })\\n    resp: HTTPResponse\\n    manifest_exists = True\\n    try:\\n        with urlopen(request) as resp:\\n            if resp.status != 200 and resp.status != 204:\\n                raise RuntimeError(resp.reason)\\n\\n    except HTTPError as ex:\\n        if ex.status != 404:\\n            raise(ex)\\n        else:\\n            manifest_exists = False\\n\\n    return manifest_exists\\n\\n\\ndef remove_tags(tags_map: Dict[str, Any], quay_token: str, namespace: str, name: str, dry_run: bool = False) -\\u003e None:\\n    image_digests = set(tags_map.values())\\n    # sha without any extension is clair report\\n    tag_regex = re.compile(r\\\"^sha256-([0-9a-f]+)(\\\\.sbom|\\\\.att|\\\\.src|\\\\.sig|\\\\.dockerfile)?$\\\")\\n    manifests_checked = {}\\n    for tag_name in tags_map:\\n        # attestation or sbom image\\n        if (match := tag_regex.match(tag_name)) is not None:\\n            if f\\\"sha256:{match.group(1)}\\\" not in image_digests:\\n                # verify that manifest really doesn't exist, because if tag was removed, it won't be in tag list, but may still be in the registry\\n                manifest_existence = manifests_checked.get(f\\\"sha256:{match.group(1)}\\\")\\n                if manifest_existence is None:\\n                    manifest_existence = manifest_exists(quay_token, namespace, name, f\\\"sha256:{match.group(1)}\\\")\\n                    manifests_checked[f\\\"sha256:{match.group(1)}\\\"] = manifest_existence\\n\\n                if not manifest_existence:\\n                    if dry_run:\\n                        LOGGER.info(\\\"Tag %s from %s/%s should be removed\\\", tag_name, namespace, name)\\n                    else:\\n                        LOGGER.info(\\\"Removing tag %s from %s/%s\\\", tag_name, namespace, name)\\n                        delete_image_tag(quay_token, namespace, name, tag_name)\\n\\n        elif tag_name.endswith(\\\".src\\\"):\\n            to_delete = False\\n\\n            binary_tag = tag_name.removesuffix(\\\".src\\\")\\n            if binary_tag not in tags_map:\\n                to_delete = True\\n            else:\\n                manifest_digest = tags_map[binary_tag]\\n                new_src_tag = f\\\"{manifest_digest.replace(':', '-')}.src\\\"\\n                to_delete = new_src_tag in tags_map\\n\\n            if to_delete:\\n                LOGGER.info(\\\"Removing deprecated tag %s\\\", tag_name)\\n                delete_image_tag(quay_token, namespace, name, tag_name)\\n        else:\\n            LOGGER.debug(\\\"%s is not in a known type to be deleted.\\\", tag_name)\\n\\n\\ndef process_repositories(repos: List[ImageRepo], quay_token: str, dry_run: bool = False) -\\u003e None:\\n    for repo in repos:\\n        namespace = repo[\\\"namespace\\\"]\\n        name = repo[\\\"name\\\"]\\n        # skip huge repository for which we can't get all tags\\n        if name == \\\"ocp-art-tenant/art-images\\\":\\n            continue\\n        LOGGER.info(\\\"Processing repository %s: %s/%s\\\", next(processed_repos_counter), namespace, name)\\n\\n        all_tags = get_quay_tags(quay_token, namespace, name)\\n\\n        if not all_tags:\\n            continue\\n\\n        remove_tags(all_tags, quay_token, namespace, name, dry_run=dry_run)\\n\\n\\ndef fetch_image_repos(access_token: str, namespace: str) -\\u003e Iterator[List[ImageRepo]]:\\n    next_page = None\\n    resp: HTTPResponse\\n    while True:\\n        query_args = {\\\"namespace\\\": namespace}\\n        if next_page is not None:\\n            query_args[\\\"next_page\\\"] = next_page\\n\\n        api_url = f\\\"{QUAY_API_URL}/repository?{urlencode(query_args)}\\\"\\n        request = Request(api_url, headers={\\n            \\\"Authorization\\\": f\\\"Bearer {access_token}\\\",\\n        })\\n\\n        try:\\n            with urlopen(request) as resp:\\n                if resp.status != 200:\\n                    raise RuntimeError(resp.reason)\\n                json_data = json.loads(resp.read())\\n        except json.JSONDecodeError:\\n            LOGGER.info(\\\"Json decoder error, will retry\\\")\\n            continue\\n\\n        repos = json_data.get(\\\"repositories\\\", [])\\n        if not repos:\\n            LOGGER.debug(\\\"No image repository is found.\\\")\\n            break\\n\\n        yield repos\\n\\n        if (next_page := json_data.get(\\\"next_page\\\", None)) is None:\\n            break\\n\\n\\ndef main():\\n    token = os.getenv(\\\"QUAY_TOKEN\\\")\\n    if not token:\\n        raise ValueError(\\\"The token required for access to Quay API is missing!\\\")\\n\\n    args = parse_args()\\n\\n    for image_repos in fetch_image_repos(token, args.namespace):\\n        process_repositories(image_repos, token, dry_run=args.dry_run)\\n\\n\\ndef parse_args():\\n    parser = argparse.ArgumentParser()\\n    parser.add_argument(\\\"--namespace\\\", required=True)\\n    parser.add_argument(\\\"--dry-run\\\", action=\\\"store_true\\\")\\n    args = parser.parse_args()\\n    return args\\n\\n\\nif __name__ == \\\"__main__\\\":\\n    main()\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"name\":\"image-controller-image-pruner-configmap-mmk4bf6tc8\",\"namespace\":\"image-controller\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:21:06Z",
                "name": "image-controller-image-pruner-configmap-mmk4bf6tc8",
                "namespace": "image-controller",
                "resourceVersion": "6902",
                "uid": "af75bebd-7fbf-4fa6-a6bb-2527e2f57271"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "reset_notifications.py": "import argparse\nimport itertools\nimport json\nimport logging\nimport os\n\nfrom collections.abc import Iterator\nfrom http.client import HTTPResponse\nfrom typing import Any, Dict, List\nfrom urllib.error import HTTPError\nfrom urllib.parse import urlencode\nfrom urllib.request import Request, urlopen\n\nlogging.basicConfig(\n    format=\"%(asctime)s - %(levelname)s - %(message)s\", level=logging.INFO\n)\nLOGGER = logging.getLogger(__name__)\nQUAY_API_URL = \"https://quay.io/api/v1\"\n\nprocessed_repos_counter = itertools.count()\n\nImageRepo = Dict[str, Any]\nRepoNotification = Dict[str, Any]\n\n\ndef get_quay_notifications(\n    quay_token: str, namespace: str, name: str\n) -\u003e List[RepoNotification]:\n    \"\"\"\n    Get all notifications for a repository\n    Quay API response format:\n    {\n        \"notifications\": [\n            {\n                \"uuid\": \"string\",\n                \"number_of_failures\": int,\n                \"title\": \"string\",\n                ...\n            },\n            ...\n        ]\n    }\n    \"\"\"\n    resp: HTTPResponse\n\n    api_url = f\"{QUAY_API_URL}/repository/{namespace}/{name}/notification/\"\n    request = Request(\n        api_url,\n        headers={\n            \"Authorization\": f\"Bearer {quay_token}\",\n        },\n    )\n\n    try:\n        with urlopen(request) as resp:\n            if resp.status != 200:\n                # do not fail the job if we can't fetch notifications\n                # for single repository\n                LOGGER.warning(\"Failed to fetch notifications for %s/%s\", namespace, name)\n                json_data = {}\n            else:\n                json_data = json.loads(resp.read())\n    except HTTPError:\n        LOGGER.warning(\"Failed to fetch notifications for %s/%s\", namespace, name)\n        json_data = {}\n\n    return json_data.get(\"notifications\", [])\n\n\ndef reset_notification(uuid: str, quay_token: str, namespace: str, name: str) -\u003e None:\n    \"\"\"Reset notification by notification uuid\"\"\"\n    api_url = f\"{QUAY_API_URL}/repository/{namespace}/{name}/notification/{uuid}\"\n    request = Request(\n        api_url,\n        method=\"POST\",\n        headers={\n            \"Authorization\": f\"Bearer {quay_token}\",\n        },\n    )\n    resp: HTTPResponse\n    try:\n        with urlopen(request) as resp:\n            # The actual API response is 204 for notification reset\n            # There is bug in Quay Swagger docs generator\n            # claiming all POST request return 201\n            if resp.status not in (201, 204):\n                # do not fail the job if we can't reset notification\n                LOGGER.warning(\n                    \"Failed to reset notification %s from %s/%s\",\n                    uuid,\n                    namespace,\n                    name,\n                )\n    except HTTPError as ex:\n        # Quay API returns 400 if notification is not found\n        # filter out when this is the case\n        rsp_message = json.loads(ex.read()).get(\"detail\", \"\")\n        if ex.status == 400 and rsp_message.startswith(\n            \"No repository notification found\"\n        ):\n            LOGGER.info(\n                \"Notification %s from %s/%s was not found\", uuid, namespace, name\n            )\n        else:\n            LOGGER.warning(\n                \"Failed to reset notification %s from %s/%s with error: %s\",\n                uuid,\n                namespace,\n                name,\n                rsp_message,\n            )\n\n\ndef process_repositories(\n    repos: List[ImageRepo], quay_token: str, dry_run: bool = False\n) -\u003e None:\n    \"\"\"Process all repositories and reset notifications if needed\"\"\"\n    for repo in repos:\n        namespace = repo[\"namespace\"]\n        name = repo[\"name\"]\n        LOGGER.info(\n            \"Processing repository %s: %s/%s\",\n            next(processed_repos_counter),\n            namespace,\n            name,\n        )\n        all_notifications = get_quay_notifications(quay_token, namespace, name)\n\n        if not all_notifications:\n            continue\n\n        for notification in all_notifications:\n            notification_title = notification.get(\"title\", \"\")\n            uuid = notification[\"uuid\"]\n            if notification.get(\"number_of_failures\", 0) \u003e 0:\n                if dry_run:\n                    LOGGER.info(\n                        \"Notification %s with title %s from %s/%s should be reset\",\n                        uuid,\n                        notification_title,\n                        namespace,\n                        name,\n                    )\n                else:\n                    reset_notification(uuid, quay_token, namespace, name)\n                    LOGGER.info(\n                        \"Notification %s with title %s from %s/%s was reset\",\n                        uuid,\n                        notification_title,\n                        namespace,\n                        name,\n                    )\n            else:\n                LOGGER.info(\n                    \"Notification %s with title %s from %s/%s has no failures\",\n                    uuid,\n                    notification_title,\n                    namespace,\n                    name,\n                )\n\n\ndef fetch_image_repos(access_token: str, namespace: str) -\u003e Iterator[List[ImageRepo]]:\n    \"\"\"Fetch all image repositories for a given namespace\"\"\"\n    next_page = None\n    resp: HTTPResponse\n    retry = 0\n    while True:\n        query_args = {\"namespace\": namespace}\n        if next_page is not None:\n            query_args[\"next_page\"] = next_page\n\n        api_url = f\"{QUAY_API_URL}/repository?{urlencode(query_args)}\"\n        request = Request(\n            api_url,\n            headers={\n                \"Authorization\": f\"Bearer {access_token}\",\n            },\n        )\n        try:\n            with urlopen(request) as resp:\n                if resp.status == 200:\n                    json_data = json.loads(resp.read())\n                else:\n                    # this will raise error for 2xx other than 200\n                    # urlopen raises HTTPError for all non 2xx responses\n                    raise HTTPError(resp.reason)\n        except HTTPError as ex:\n            # retry 5 times before giving up\n            if retry \u003c 5:\n                retry += 1\n                continue\n            else:\n                LOGGER.error(\n                    \"Unable to fetch repositories for namespace %s\",\n                    namespace,\n                )\n                raise RuntimeError(ex)\n\n        repos = json_data.get(\"repositories\", [])\n        if not repos:\n            LOGGER.debug(\"No image repository is found.\")\n            break\n\n        yield repos\n\n        if (next_page := json_data.get(\"next_page\", None)) is None:\n            break\n\n\ndef main():\n    token = os.getenv(\"QUAY_TOKEN\")\n    if not token:\n        raise ValueError(\"The token required for access to Quay API is missing!\")\n\n    args = parse_args()\n    for image_repos in fetch_image_repos(token, args.namespace):\n        process_repositories(image_repos, token, dry_run=args.dry_run)\n\n\ndef parse_args():\n    parser = argparse.ArgumentParser()\n    parser.add_argument(\"--namespace\", required=True)\n    parser.add_argument(\"--dry-run\", action=\"store_true\")\n    args = parser.parse_args()\n    return args\n\n\nif __name__ == \"__main__\":\n    main()\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"reset_notifications.py\":\"import argparse\\nimport itertools\\nimport json\\nimport logging\\nimport os\\n\\nfrom collections.abc import Iterator\\nfrom http.client import HTTPResponse\\nfrom typing import Any, Dict, List\\nfrom urllib.error import HTTPError\\nfrom urllib.parse import urlencode\\nfrom urllib.request import Request, urlopen\\n\\nlogging.basicConfig(\\n    format=\\\"%(asctime)s - %(levelname)s - %(message)s\\\", level=logging.INFO\\n)\\nLOGGER = logging.getLogger(__name__)\\nQUAY_API_URL = \\\"https://quay.io/api/v1\\\"\\n\\nprocessed_repos_counter = itertools.count()\\n\\nImageRepo = Dict[str, Any]\\nRepoNotification = Dict[str, Any]\\n\\n\\ndef get_quay_notifications(\\n    quay_token: str, namespace: str, name: str\\n) -\\u003e List[RepoNotification]:\\n    \\\"\\\"\\\"\\n    Get all notifications for a repository\\n    Quay API response format:\\n    {\\n        \\\"notifications\\\": [\\n            {\\n                \\\"uuid\\\": \\\"string\\\",\\n                \\\"number_of_failures\\\": int,\\n                \\\"title\\\": \\\"string\\\",\\n                ...\\n            },\\n            ...\\n        ]\\n    }\\n    \\\"\\\"\\\"\\n    resp: HTTPResponse\\n\\n    api_url = f\\\"{QUAY_API_URL}/repository/{namespace}/{name}/notification/\\\"\\n    request = Request(\\n        api_url,\\n        headers={\\n            \\\"Authorization\\\": f\\\"Bearer {quay_token}\\\",\\n        },\\n    )\\n\\n    try:\\n        with urlopen(request) as resp:\\n            if resp.status != 200:\\n                # do not fail the job if we can't fetch notifications\\n                # for single repository\\n                LOGGER.warning(\\\"Failed to fetch notifications for %s/%s\\\", namespace, name)\\n                json_data = {}\\n            else:\\n                json_data = json.loads(resp.read())\\n    except HTTPError:\\n        LOGGER.warning(\\\"Failed to fetch notifications for %s/%s\\\", namespace, name)\\n        json_data = {}\\n\\n    return json_data.get(\\\"notifications\\\", [])\\n\\n\\ndef reset_notification(uuid: str, quay_token: str, namespace: str, name: str) -\\u003e None:\\n    \\\"\\\"\\\"Reset notification by notification uuid\\\"\\\"\\\"\\n    api_url = f\\\"{QUAY_API_URL}/repository/{namespace}/{name}/notification/{uuid}\\\"\\n    request = Request(\\n        api_url,\\n        method=\\\"POST\\\",\\n        headers={\\n            \\\"Authorization\\\": f\\\"Bearer {quay_token}\\\",\\n        },\\n    )\\n    resp: HTTPResponse\\n    try:\\n        with urlopen(request) as resp:\\n            # The actual API response is 204 for notification reset\\n            # There is bug in Quay Swagger docs generator\\n            # claiming all POST request return 201\\n            if resp.status not in (201, 204):\\n                # do not fail the job if we can't reset notification\\n                LOGGER.warning(\\n                    \\\"Failed to reset notification %s from %s/%s\\\",\\n                    uuid,\\n                    namespace,\\n                    name,\\n                )\\n    except HTTPError as ex:\\n        # Quay API returns 400 if notification is not found\\n        # filter out when this is the case\\n        rsp_message = json.loads(ex.read()).get(\\\"detail\\\", \\\"\\\")\\n        if ex.status == 400 and rsp_message.startswith(\\n            \\\"No repository notification found\\\"\\n        ):\\n            LOGGER.info(\\n                \\\"Notification %s from %s/%s was not found\\\", uuid, namespace, name\\n            )\\n        else:\\n            LOGGER.warning(\\n                \\\"Failed to reset notification %s from %s/%s with error: %s\\\",\\n                uuid,\\n                namespace,\\n                name,\\n                rsp_message,\\n            )\\n\\n\\ndef process_repositories(\\n    repos: List[ImageRepo], quay_token: str, dry_run: bool = False\\n) -\\u003e None:\\n    \\\"\\\"\\\"Process all repositories and reset notifications if needed\\\"\\\"\\\"\\n    for repo in repos:\\n        namespace = repo[\\\"namespace\\\"]\\n        name = repo[\\\"name\\\"]\\n        LOGGER.info(\\n            \\\"Processing repository %s: %s/%s\\\",\\n            next(processed_repos_counter),\\n            namespace,\\n            name,\\n        )\\n        all_notifications = get_quay_notifications(quay_token, namespace, name)\\n\\n        if not all_notifications:\\n            continue\\n\\n        for notification in all_notifications:\\n            notification_title = notification.get(\\\"title\\\", \\\"\\\")\\n            uuid = notification[\\\"uuid\\\"]\\n            if notification.get(\\\"number_of_failures\\\", 0) \\u003e 0:\\n                if dry_run:\\n                    LOGGER.info(\\n                        \\\"Notification %s with title %s from %s/%s should be reset\\\",\\n                        uuid,\\n                        notification_title,\\n                        namespace,\\n                        name,\\n                    )\\n                else:\\n                    reset_notification(uuid, quay_token, namespace, name)\\n                    LOGGER.info(\\n                        \\\"Notification %s with title %s from %s/%s was reset\\\",\\n                        uuid,\\n                        notification_title,\\n                        namespace,\\n                        name,\\n                    )\\n            else:\\n                LOGGER.info(\\n                    \\\"Notification %s with title %s from %s/%s has no failures\\\",\\n                    uuid,\\n                    notification_title,\\n                    namespace,\\n                    name,\\n                )\\n\\n\\ndef fetch_image_repos(access_token: str, namespace: str) -\\u003e Iterator[List[ImageRepo]]:\\n    \\\"\\\"\\\"Fetch all image repositories for a given namespace\\\"\\\"\\\"\\n    next_page = None\\n    resp: HTTPResponse\\n    retry = 0\\n    while True:\\n        query_args = {\\\"namespace\\\": namespace}\\n        if next_page is not None:\\n            query_args[\\\"next_page\\\"] = next_page\\n\\n        api_url = f\\\"{QUAY_API_URL}/repository?{urlencode(query_args)}\\\"\\n        request = Request(\\n            api_url,\\n            headers={\\n                \\\"Authorization\\\": f\\\"Bearer {access_token}\\\",\\n            },\\n        )\\n        try:\\n            with urlopen(request) as resp:\\n                if resp.status == 200:\\n                    json_data = json.loads(resp.read())\\n                else:\\n                    # this will raise error for 2xx other than 200\\n                    # urlopen raises HTTPError for all non 2xx responses\\n                    raise HTTPError(resp.reason)\\n        except HTTPError as ex:\\n            # retry 5 times before giving up\\n            if retry \\u003c 5:\\n                retry += 1\\n                continue\\n            else:\\n                LOGGER.error(\\n                    \\\"Unable to fetch repositories for namespace %s\\\",\\n                    namespace,\\n                )\\n                raise RuntimeError(ex)\\n\\n        repos = json_data.get(\\\"repositories\\\", [])\\n        if not repos:\\n            LOGGER.debug(\\\"No image repository is found.\\\")\\n            break\\n\\n        yield repos\\n\\n        if (next_page := json_data.get(\\\"next_page\\\", None)) is None:\\n            break\\n\\n\\ndef main():\\n    token = os.getenv(\\\"QUAY_TOKEN\\\")\\n    if not token:\\n        raise ValueError(\\\"The token required for access to Quay API is missing!\\\")\\n\\n    args = parse_args()\\n    for image_repos in fetch_image_repos(token, args.namespace):\\n        process_repositories(image_repos, token, dry_run=args.dry_run)\\n\\n\\ndef parse_args():\\n    parser = argparse.ArgumentParser()\\n    parser.add_argument(\\\"--namespace\\\", required=True)\\n    parser.add_argument(\\\"--dry-run\\\", action=\\\"store_true\\\")\\n    args = parser.parse_args()\\n    return args\\n\\n\\nif __name__ == \\\"__main__\\\":\\n    main()\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"name\":\"image-controller-notification-resetter-configmap-tfm9h79698\",\"namespace\":\"image-controller\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:21:06Z",
                "name": "image-controller-notification-resetter-configmap-tfm9h79698",
                "namespace": "image-controller",
                "resourceVersion": "6904",
                "uid": "93a5ee9d-56b1-45d5-899f-f9fa7864cf03"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T10:21:04Z",
                "name": "kube-root-ca.crt",
                "namespace": "image-controller",
                "resourceVersion": "6876",
                "uid": "182de6c3-9ae8-4edd-b8c1-3e9b01868944"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "cluster-type": "kind"
            },
            "kind": "ConfigMap",
            "metadata": {
                "creationTimestamp": "2026-05-13T10:21:29Z",
                "name": "cluster-config",
                "namespace": "konflux-info",
                "resourceVersion": "7110",
                "uid": "2c448b86-a809-4ece-ba3d-65332fe152ac"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T10:21:29Z",
                "name": "kube-root-ca.crt",
                "namespace": "konflux-info",
                "resourceVersion": "7103",
                "uid": "c864f682-d2ec-4d7d-91d0-aa61f044b611"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T09:03:07Z",
                "name": "kube-root-ca.crt",
                "namespace": "kube-node-lease",
                "resourceVersion": "307",
                "uid": "9b1e5dbb-861b-4ad9-a72a-b5fd05c3b734"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "jws-kubeconfig-abcdef": "eyJhbGciOiJIUzI1NiIsImtpZCI6ImFiY2RlZiJ9..X5YlPQa-p68__vuugdD4vu3amAUBc7jvQWP63HxFXQ0",
                "kubeconfig": "apiVersion: v1\nclusters:\n- cluster:\n    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJUVlqVll3aEtLVDR3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TmpBMU1UTXdPRFUzTkRoYUZ3MHpOakExTVRBd09UQXlORGhhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUN6OUJ3MzkvYndpU0FTWHVCQjBINlVQb1paRTlzSWlCd05sYnA4STF1NjZMU21EV2gvcUhyNkQzV0kKYVNiajhNVjJ0b0ZCeE8wYW5COFVjV1NjMzQ4am9EbUdMMjJkcVlacHVPZjlMYU1WQk9nb2tFblB4WDNzUEZMTwpDRzJYdjZJZXlRRTIzNFMvQ1hod09FcUZGWXZVTGJpenVxbjh1ajQ0aHB2SEh6MHJHb2xwbndic0E2SlJWenIzCklPTkJrTzhGRDVjeVk5Z3kvTi9NakNKVjc2Y2FSYzRKb2s1MFYyT0h1YnBCODh2OU9iRnlOMTk2STlBVThxc08KTW1heC84K1QyWGNtVEVWdzQrRE1ydTBSM3ZXSGo1UFJSWUZvcWRUZ2RRUVNPenoxdDMwTkxEWFB5R1dGZm1aOQowWFd1ZjdMSDI2UDljSHg0K3pVQ1RJU1hQVjgxQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJTYURhR2dzaEpsSzVmTWdaTko3d2xiU01FekV6QVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ1pJUjNiV2diVQpWK1JxenZIVE9iVk54NDIyRGc2ZUZlQ3dzK2gxbTIyc2paaGlGYndIWDBtZ2hKSHFSN1NSbVZ2bTM3YTJsNVhoCkNIckk0ZGg5US8vNGN4ZzhMR281MkpaVmM1OEQxbDlWTXMveDI3WmNDdVBidkFZZkhHSGlHTlN3RXFOcFp2NWMKcWVaV09KR0E1a1dMUFZ1U3dreEcrZWJlWmJnbXdNNHd6eWNZbVRSMHlQZURVV3FrQzZxVUtVUTFVUGpEQ29sMgpFL1FKT3pQaGRvazUrZE9zZWVLMDVBcGQ4cTRkUWV0cmp3UEEwUzZRWXRiSGZSMnlib25NVGIydURPOG50S3IwCjduZHFhOHFLWGVPdnJ3RXlTVE1Id2I3S1JFNGZlY1Ztc2FibzlPZWwvd0QvdzVBb0hPeUdDaVoydXMrK1laMDkKYnFXd1ZCWGNvVEgzCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K\n    server: https://kind-mapt-control-plane:6443\n  name: \"\"\ncontexts: null\ncurrent-context: \"\"\nkind: Config\npreferences: {}\nusers: null\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "creationTimestamp": "2026-05-13T09:03:04Z",
                "name": "cluster-info",
                "namespace": "kube-public",
                "resourceVersion": "312",
                "uid": "2111f6c5-bf25-4e7b-807e-ff06d3a8c796"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T09:03:07Z",
                "name": "kube-root-ca.crt",
                "namespace": "kube-public",
                "resourceVersion": "308",
                "uid": "70e3e150-f8c0-457c-9988-ed9b93fd63d5"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "Corefile": ".:53 {\n    errors\n    health {\n       lameduck 5s\n    }\n    ready\n    kubernetes cluster.local in-addr.arpa ip6.arpa {\n       pods insecure\n       fallthrough in-addr.arpa ip6.arpa\n       ttl 30\n    }\n    prometheus :9153\n    forward . /etc/resolv.conf {\n       max_concurrent 1000\n    }\n    cache 30 {\n       disable success cluster.local\n       disable denial cluster.local\n    }\n    loop\n    reload\n    loadbalance\n}\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "creationTimestamp": "2026-05-13T09:03:04Z",
                "name": "coredns",
                "namespace": "kube-system",
                "resourceVersion": "240",
                "uid": "422f6ed2-25d9-4f21-8cc9-86323eda6509"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "client-ca-file": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n",
                "requestheader-allowed-names": "[\"front-proxy-client\"]",
                "requestheader-client-ca-file": "-----BEGIN CERTIFICATE-----\nMIIDETCCAfmgAwIBAgIILZPx56FupTowDQYJKoZIhvcNAQELBQAwGTEXMBUGA1UE\nAxMOZnJvbnQtcHJveHktY2EwHhcNMjYwNTEzMDg1NzQ4WhcNMzYwNTEwMDkwMjQ4\nWjAZMRcwFQYDVQQDEw5mcm9udC1wcm94eS1jYTCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBAMRiNwJ+X+vCVYbGxaQaZ/1GPALEm2KFYrwmLouTspmSF2SG\nXh6Yt5yJHU6Rjp0AXFfwuB1hgPO5Cq959el2mKufYrYf5raBAG8HsZpKHFLrm3ye\nxQMOZLI/8ORCrsK0WRDo8/hA20pioITj82pgK3Hm32BHgYrC3TFvGohuNVlnyMmT\nviWMGCqXxIZvLZOKy5EfBPi+AtOA63yy3UBpmddYpo/mrcoy5SwTcQqujUbAZgpI\n6Zn81bJvRoVXAwlt/H9WPqNR8RRI8G3kYr0l5UQKBA9ln1xhouH+hF4c0g+gRPzx\nbRs3W2oMuiND2tIUYnmJBpFFbnF9WWKBUndCBZcCAwEAAaNdMFswDgYDVR0PAQH/\nBAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFPH2ARBAoOK6597cfF78\nsDEYeXhzMBkGA1UdEQQSMBCCDmZyb250LXByb3h5LWNhMA0GCSqGSIb3DQEBCwUA\nA4IBAQAUKwf1dnDXgn+FVWFoClGYnm0Q4W0za2y8dT/M6kQdnv2a2HwcKYmeInJT\nNBVJPsuzwdkCLUnU5LgR7pkgbvoWxWxT0IXczEthCaZIC4XuyGdJ+sfg7+OUQ02H\nYtIXZ/dFfBIk+1u3gDrGBTGMFcOogbnFtU6iYgPIbkRMICYIWav++kjUYzvAMK3x\nDTwfiRdjHzFkD17twEanzGHXEMmx1xiiLyDlJW0eppaVpnFeznYgukF1c4AfxFPy\nEQeYpqDBGvbcX8/TSdIGas3psErb09/w6u8YVRVthQFxhsnLJKrfRTG/7Va7jX1T\n2YYgG6ZGk8jOrcJ2O70a5I93hi5Y\n-----END CERTIFICATE-----\n",
                "requestheader-extra-headers-prefix": "[\"X-Remote-Extra-\"]",
                "requestheader-group-headers": "[\"X-Remote-Group\"]",
                "requestheader-username-headers": "[\"X-Remote-User\"]"
            },
            "kind": "ConfigMap",
            "metadata": {
                "creationTimestamp": "2026-05-13T09:03:00Z",
                "name": "extension-apiserver-authentication",
                "namespace": "kube-system",
                "resourceVersion": "27",
                "uid": "bfb3bee1-7f09-41f0-8658-361088ba2cf2"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "since": "2026-05-13"
            },
            "kind": "ConfigMap",
            "metadata": {
                "creationTimestamp": "2026-05-13T09:03:00Z",
                "name": "kube-apiserver-legacy-service-account-token-tracking",
                "namespace": "kube-system",
                "resourceVersion": "39",
                "uid": "54520583-f206-4b76-90e8-8484593f353e"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "config.conf": "apiVersion: kubeproxy.config.k8s.io/v1alpha1\nbindAddress: 0.0.0.0\nbindAddressHardFail: false\nclientConnection:\n  acceptContentTypes: \"\"\n  burst: 0\n  contentType: \"\"\n  kubeconfig: /var/lib/kube-proxy/kubeconfig.conf\n  qps: 0\nclusterCIDR: 10.244.0.0/16\nconfigSyncPeriod: 0s\nconntrack:\n  maxPerCore: 0\n  min: null\n  tcpBeLiberal: false\n  tcpCloseWaitTimeout: null\n  tcpEstablishedTimeout: null\n  udpStreamTimeout: 0s\n  udpTimeout: 0s\ndetectLocal:\n  bridgeInterface: \"\"\n  interfaceNamePrefix: \"\"\ndetectLocalMode: \"\"\nenableProfiling: false\nhealthzBindAddress: \"\"\nhostnameOverride: \"\"\niptables:\n  localhostNodePorts: null\n  masqueradeAll: false\n  masqueradeBit: null\n  minSyncPeriod: 1s\n  syncPeriod: 0s\nipvs:\n  excludeCIDRs: null\n  minSyncPeriod: 0s\n  scheduler: \"\"\n  strictARP: false\n  syncPeriod: 0s\n  tcpFinTimeout: 0s\n  tcpTimeout: 0s\n  udpTimeout: 0s\nkind: KubeProxyConfiguration\nlogging:\n  flushFrequency: 0\n  options:\n    json:\n      infoBufferSize: \"0\"\n    text:\n      infoBufferSize: \"0\"\n  verbosity: 0\nmetricsBindAddress: \"\"\nmode: iptables\nnftables:\n  masqueradeAll: false\n  masqueradeBit: null\n  minSyncPeriod: 0s\n  syncPeriod: 0s\nnodePortAddresses: null\noomScoreAdj: null\nportRange: \"\"\nshowHiddenMetricsForVersion: \"\"\nwinkernel:\n  enableDSR: false\n  forwardHealthCheckVip: false\n  networkName: \"\"\n  rootHnsEndpointName: \"\"\n  sourceVip: \"\"",
                "kubeconfig.conf": "apiVersion: v1\nkind: Config\nclusters:\n- cluster:\n    certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt\n    server: https://kind-mapt-control-plane:6443\n  name: default\ncontexts:\n- context:\n    cluster: default\n    namespace: default\n    user: default\n  name: default\ncurrent-context: default\nusers:\n- name: default\n  user:\n    tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token"
            },
            "kind": "ConfigMap",
            "metadata": {
                "creationTimestamp": "2026-05-13T09:03:04Z",
                "labels": {
                    "app": "kube-proxy"
                },
                "name": "kube-proxy",
                "namespace": "kube-system",
                "resourceVersion": "256",
                "uid": "f65ffe36-b2ae-4cb0-8757-5e5efb7a3ef4"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T09:03:07Z",
                "name": "kube-root-ca.crt",
                "namespace": "kube-system",
                "resourceVersion": "309",
                "uid": "d602b03d-b302-469c-af76-cdd2db1e9812"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ClusterConfiguration": "apiServer:\n  certSANs:\n  - 44.246.98.231\n  extraArgs:\n  - name: runtime-config\n    value: \"\"\napiVersion: kubeadm.k8s.io/v1beta4\ncaCertificateValidityPeriod: 87600h0m0s\ncertificateValidityPeriod: 8760h0m0s\ncertificatesDir: /etc/kubernetes/pki\nclusterName: kind-mapt\ncontrolPlaneEndpoint: kind-mapt-control-plane:6443\ncontrollerManager:\n  extraArgs:\n  - name: enable-hostpath-provisioner\n    value: \"true\"\ndns: {}\nencryptionAlgorithm: RSA-2048\netcd:\n  local:\n    dataDir: /var/lib/etcd\nimageRepository: registry.k8s.io\nkind: ClusterConfiguration\nkubernetesVersion: v1.32.5\nnetworking:\n  dnsDomain: cluster.local\n  podSubnet: 10.244.0.0/16\n  serviceSubnet: 10.96.0.0/16\nproxy: {}\nscheduler: {}\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "creationTimestamp": "2026-05-13T09:03:02Z",
                "name": "kubeadm-config",
                "namespace": "kube-system",
                "resourceVersion": "197",
                "uid": "128ce0ea-de20-47c9-9cda-c40b2ed19bda"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "kubelet": "apiVersion: kubelet.config.k8s.io/v1beta1\nauthentication:\n  anonymous:\n    enabled: false\n  webhook:\n    cacheTTL: 0s\n    enabled: true\n  x509:\n    clientCAFile: /etc/kubernetes/pki/ca.crt\nauthorization:\n  mode: Webhook\n  webhook:\n    cacheAuthorizedTTL: 0s\n    cacheUnauthorizedTTL: 0s\ncgroupDriver: systemd\ncgroupRoot: /kubelet\nclusterDNS:\n- 10.96.0.10\nclusterDomain: cluster.local\ncontainerRuntimeEndpoint: \"\"\ncpuManagerReconcilePeriod: 0s\ncrashLoopBackOff: {}\nevictionHard:\n  imagefs.available: 0%\n  nodefs.available: 0%\n  nodefs.inodesFree: 0%\nevictionPressureTransitionPeriod: 0s\nfailSwapOn: false\nfileCheckFrequency: 0s\nhealthzBindAddress: 127.0.0.1\nhealthzPort: 10248\nhttpCheckFrequency: 0s\nimageGCHighThresholdPercent: 100\nimageMaximumGCAge: 0s\nimageMinimumGCAge: 0s\nkind: KubeletConfiguration\nlogging:\n  flushFrequency: 0\n  options:\n    json:\n      infoBufferSize: \"0\"\n    text:\n      infoBufferSize: \"0\"\n  verbosity: 0\nmemorySwap: {}\nnodeStatusReportFrequency: 0s\nnodeStatusUpdateFrequency: 0s\nrotateCertificates: true\nruntimeRequestTimeout: 0s\nshutdownGracePeriod: 0s\nshutdownGracePeriodCriticalPods: 0s\nstaticPodPath: /etc/kubernetes/manifests\nstreamingConnectionIdleTimeout: 0s\nsyncFrequency: 0s\nvolumeStatsAggPeriod: 0s\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "creationTimestamp": "2026-05-13T09:03:02Z",
                "name": "kubelet-config",
                "namespace": "kube-system",
                "resourceVersion": "200",
                "uid": "f63bee93-55d1-4f53-b804-9e3aeb3a5862"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T09:03:07Z",
                "name": "kube-root-ca.crt",
                "namespace": "local-path-storage",
                "resourceVersion": "310",
                "uid": "225ed2b6-ac85-4963-aeed-fedcd1d51780"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "config.json": "{\n        \"nodePathMap\":[\n        {\n                \"node\":\"DEFAULT_PATH_FOR_NON_LISTED_NODES\",\n                \"paths\":[\"/var/local-path-provisioner\"]\n        }\n        ]\n}",
                "helperPod.yaml": "apiVersion: v1\nkind: Pod\nmetadata:\n  name: helper-pod\nspec:\n  priorityClassName: system-node-critical\n  tolerations:\n    - key: node.kubernetes.io/disk-pressure\n      operator: Exists\n      effect: NoSchedule\n  containers:\n  - name: helper-pod\n    image: docker.io/kindest/local-path-helper:v20241212-8ac705d0\n    imagePullPolicy: IfNotPresent",
                "setup": "#!/bin/sh\nset -eu\nmkdir -m 0777 -p \"$VOL_DIR\"",
                "teardown": "#!/bin/sh\nset -eu\nrm -rf \"$VOL_DIR\""
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"config.json\":\"{\\n        \\\"nodePathMap\\\":[\\n        {\\n                \\\"node\\\":\\\"DEFAULT_PATH_FOR_NON_LISTED_NODES\\\",\\n                \\\"paths\\\":[\\\"/var/local-path-provisioner\\\"]\\n        }\\n        ]\\n}\",\"helperPod.yaml\":\"apiVersion: v1\\nkind: Pod\\nmetadata:\\n  name: helper-pod\\nspec:\\n  priorityClassName: system-node-critical\\n  tolerations:\\n    - key: node.kubernetes.io/disk-pressure\\n      operator: Exists\\n      effect: NoSchedule\\n  containers:\\n  - name: helper-pod\\n    image: docker.io/kindest/local-path-helper:v20241212-8ac705d0\\n    imagePullPolicy: IfNotPresent\",\"setup\":\"#!/bin/sh\\nset -eu\\nmkdir -m 0777 -p \\\"$VOL_DIR\\\"\",\"teardown\":\"#!/bin/sh\\nset -eu\\nrm -rf \\\"$VOL_DIR\\\"\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"name\":\"local-path-config\",\"namespace\":\"local-path-storage\"}}\n"
                },
                "creationTimestamp": "2026-05-13T09:03:06Z",
                "name": "local-path-config",
                "namespace": "local-path-storage",
                "resourceVersion": "299",
                "uid": "596fcaf8-94e3-48b7-a149-c981d6fac26c"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T10:19:56Z",
                "name": "kube-root-ca.crt",
                "namespace": "pipelines-as-code",
                "resourceVersion": "6199",
                "uid": "5fb20986-c834-46a0-b13e-317a2006f7ae"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "loglevel.pac-watcher": "info",
                "loglevel.pipelines-as-code-webhook": "info",
                "loglevel.pipelinesascode": "info",
                "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"sampling\": {\n    \"initial\": 100,\n    \"thereafter\": 100\n  },\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"ts\",\n    \"levelKey\": \"level\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"msg\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"loglevel.pac-watcher\":\"info\",\"loglevel.pipelines-as-code-webhook\":\"info\",\"loglevel.pipelinesascode\":\"info\",\"zap-logger-config\":\"{\\n  \\\"level\\\": \\\"info\\\",\\n  \\\"development\\\": false,\\n  \\\"sampling\\\": {\\n    \\\"initial\\\": 100,\\n    \\\"thereafter\\\": 100\\n  },\\n  \\\"outputPaths\\\": [\\\"stdout\\\"],\\n  \\\"errorOutputPaths\\\": [\\\"stderr\\\"],\\n  \\\"encoding\\\": \\\"json\\\",\\n  \\\"encoderConfig\\\": {\\n    \\\"timeKey\\\": \\\"ts\\\",\\n    \\\"levelKey\\\": \\\"level\\\",\\n    \\\"nameKey\\\": \\\"logger\\\",\\n    \\\"callerKey\\\": \\\"caller\\\",\\n    \\\"messageKey\\\": \\\"msg\\\",\\n    \\\"stacktraceKey\\\": \\\"stacktrace\\\",\\n    \\\"lineEnding\\\": \\\"\\\",\\n    \\\"levelEncoder\\\": \\\"\\\",\\n    \\\"timeEncoder\\\": \\\"iso8601\\\",\\n    \\\"durationEncoder\\\": \\\"\\\",\\n    \\\"callerEncoder\\\": \\\"\\\"\\n  }\\n}\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/instance\":\"default\",\"app.kubernetes.io/part-of\":\"pipelines-as-code\"},\"name\":\"pac-config-logging\",\"namespace\":\"pipelines-as-code\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:19:59Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "pipelines-as-code"
                },
                "name": "pac-config-logging",
                "namespace": "pipelines-as-code",
                "resourceVersion": "6350",
                "uid": "2875b72b-030e-4437-a297-fc96a434c194"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"_example\":\"################################\\n#                              #\\n#    EXAMPLE CONFIGURATION     #\\n#                              #\\n################################\\n# This block is not actually functional configuration,\\n# but serves to illustrate the available configuration\\n# options and document them in a way that is accessible\\n# to users that `kubectl edit` this config map.\\n#\\n# These sample configuration options may be copied out of\\n# this example block and unindented to be in the data block\\n# to actually change the configuration.\\n# lease-duration is how long non-leaders will wait to try to acquire the\\n# lock; 15 seconds is the value used by core kubernetes controllers.\\nlease-duration: \\\"60s\\\"\\n# renew-deadline is how long a leader will try to renew the lease before\\n# giving up; 10 seconds is the value used by core kubernetes controllers.\\nrenew-deadline: \\\"40s\\\"\\n# retry-period is how long the leader election client waits between tries of\\n# actions; 2 seconds is the value used by core kubernetes controllers.\\nretry-period: \\\"10s\\\"\\n# buckets is the number of buckets used to partition key space of each\\n# Reconciler. If this number is M and the replica number of the controller\\n# is N, the N replicas will compete for the M buckets. The owner of a\\n# bucket will take care of the reconciling for the keys partitioned into\\n# that bucket.\\nbuckets: \\\"1\\\"\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/instance\":\"default\",\"app.kubernetes.io/part-of\":\"pipelines-as-code\"},\"name\":\"pac-watcher-config-leader-election\",\"namespace\":\"pipelines-as-code\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:19:59Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "pipelines-as-code"
                },
                "name": "pac-watcher-config-leader-election",
                "namespace": "pipelines-as-code",
                "resourceVersion": "6359",
                "uid": "035b924b-5ba4-4e76-9de4-b1ae511fff01"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"_example\":\"################################\\n#                              #\\n#    EXAMPLE CONFIGURATION     #\\n#                              #\\n################################\\n# This block is not actually functional configuration,\\n# but serves to illustrate the available configuration\\n# options and document them in a way that is accessible\\n# to users that `kubectl edit` this config map.\\n#\\n# These sample configuration options may be copied out of\\n# this example block and unindented to be in the data block\\n# to actually change the configuration.\\n# lease-duration is how long non-leaders will wait to try to acquire the\\n# lock; 15 seconds is the value used by core kubernetes controllers.\\nlease-duration: \\\"60s\\\"\\n# renew-deadline is how long a leader will try to renew the lease before\\n# giving up; 10 seconds is the value used by core kubernetes controllers.\\nrenew-deadline: \\\"40s\\\"\\n# retry-period is how long the leader election client waits between tries of\\n# actions; 2 seconds is the value used by core kubernetes controllers.\\nretry-period: \\\"10s\\\"\\n# buckets is the number of buckets used to partition key space of each\\n# Reconciler. If this number is M and the replica number of the controller\\n# is N, the N replicas will compete for the M buckets. The owner of a\\n# bucket will take care of the reconciling for the keys partitioned into\\n# that bucket.\\nbuckets: \\\"1\\\"\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/instance\":\"default\",\"app.kubernetes.io/part-of\":\"pipelines-as-code\"},\"name\":\"pac-webhook-config-leader-election\",\"namespace\":\"pipelines-as-code\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:19:59Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "pipelines-as-code"
                },
                "name": "pac-webhook-config-leader-election",
                "namespace": "pipelines-as-code",
                "resourceVersion": "6363",
                "uid": "c9cdea5e-aa5b-477c-8616-bd5ea5f03245"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "application-name": "Local Konflux",
                "auto-configure-new-github-repo": "false",
                "auto-configure-repo-namespace-template": "",
                "auto-configure-repo-repository-template": "",
                "bitbucket-cloud-additional-source-ip": "",
                "bitbucket-cloud-check-source-ip": "true",
                "custom-console-name": "Local Konflux",
                "custom-console-url": "https://44.246.98.231:9443",
                "custom-console-url-namespace": "https://44.246.98.231:9443/ns/{{ namespace }}",
                "custom-console-url-pr-details": "https://44.246.98.231:9443/ns/{{ namespace }}/pipelinerun/{{ pr }}",
                "custom-console-url-pr-tasklog": "https://44.246.98.231:9443/ns/{{ namespace }}/pipelinerun/{{ pr }}/logs/{{ task }}",
                "default-max-keep-runs": "",
                "enable-cancel-in-progress-on-pull-requests": "false",
                "enable-cancel-in-progress-on-push": "false",
                "error-detection-from-container-logs": "true",
                "error-detection-max-number-of-lines": "50",
                "error-detection-simple-regexp": "^(?P\u003cfilename\u003e[^:]*):(?P\u003cline\u003e[0-9]+):(?P\u003ccolumn\u003e[0-9]+)?([ ]*)?(?P\u003cerror\u003e.*)",
                "error-log-snippet": "true",
                "error-log-snippet-number-of-lines": "3",
                "hub-catalog-type": "artifacthub",
                "hub-url": "https://artifacthub.io",
                "max-keep-run-upper-limit": "",
                "remember-ok-to-test": "false",
                "remote-tasks": "true",
                "require-ok-to-test-sha": "false",
                "secret-auto-create": "true",
                "secret-github-app-scope-extra-repos": "",
                "secret-github-app-token-scoped": "true",
                "skip-push-event-for-pr-commits": "true",
                "tekton-dashboard-url": ""
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"application-name\":\"Local Konflux\",\"auto-configure-new-github-repo\":\"false\",\"auto-configure-repo-namespace-template\":\"\",\"auto-configure-repo-repository-template\":\"\",\"bitbucket-cloud-additional-source-ip\":\"\",\"bitbucket-cloud-check-source-ip\":\"true\",\"custom-console-name\":\"Local Konflux\",\"custom-console-url\":\"https://44.246.98.231:9443\",\"custom-console-url-namespace\":\"https://44.246.98.231:9443/ns/{{ namespace }}\",\"custom-console-url-pr-details\":\"https://44.246.98.231:9443/ns/{{ namespace }}/pipelinerun/{{ pr }}\",\"custom-console-url-pr-tasklog\":\"https://44.246.98.231:9443/ns/{{ namespace }}/pipelinerun/{{ pr }}/logs/{{ task }}\",\"default-max-keep-runs\":\"\",\"enable-cancel-in-progress-on-pull-requests\":\"false\",\"enable-cancel-in-progress-on-push\":\"false\",\"error-detection-from-container-logs\":\"true\",\"error-detection-max-number-of-lines\":\"50\",\"error-detection-simple-regexp\":\"^(?P\\u003cfilename\\u003e[^:]*):(?P\\u003cline\\u003e[0-9]+):(?P\\u003ccolumn\\u003e[0-9]+)?([ ]*)?(?P\\u003cerror\\u003e.*)\",\"error-log-snippet\":\"true\",\"error-log-snippet-number-of-lines\":\"3\",\"hub-catalog-type\":\"artifacthub\",\"hub-url\":\"https://artifacthub.io\",\"max-keep-run-upper-limit\":\"\",\"remember-ok-to-test\":\"false\",\"remote-tasks\":\"true\",\"require-ok-to-test-sha\":\"false\",\"secret-auto-create\":\"true\",\"secret-github-app-scope-extra-repos\":\"\",\"secret-github-app-token-scoped\":\"true\",\"skip-push-event-for-pr-commits\":\"true\",\"tekton-dashboard-url\":\"\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/part-of\":\"pipelines-as-code\",\"app.kubernetes.io/version\":\"v0.42.0\"},\"name\":\"pipelines-as-code\",\"namespace\":\"pipelines-as-code\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:19:59Z",
                "labels": {
                    "app.kubernetes.io/part-of": "pipelines-as-code",
                    "app.kubernetes.io/version": "v0.42.0"
                },
                "name": "pipelines-as-code",
                "namespace": "pipelines-as-code",
                "resourceVersion": "6375",
                "uid": "9564789c-8d57-4014-a0c7-0e66cd08ffdd"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using Stackdriver will incur additional charges.\nmetrics.backend-destination: prometheus\n# metrics.stackdriver-project-id field specifies the Stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used and metrics will be sent to the cluster's project if this field is\n# not provided.\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed\n# to send metrics to Stackdriver using \"global\" resource type and custom\n# metric type. Setting this flag to \"true\" could cause extra Stackdriver\n# charge.  If metrics.backend-destination is not Stackdriver, this is\n# ignored.\nmetrics.allow-stackdriver-custom-metrics: \"false\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"_example\":\"################################\\n#                              #\\n#    EXAMPLE CONFIGURATION     #\\n#                              #\\n################################\\n# This block is not actually functional configuration,\\n# but serves to illustrate the available configuration\\n# options and document them in a way that is accessible\\n# to users that `kubectl edit` this config map.\\n#\\n# These sample configuration options may be copied out of\\n# this example block and unindented to be in the data block\\n# to actually change the configuration.\\n# metrics.backend-destination field specifies the system metrics destination.\\n# It supports either prometheus (the default) or stackdriver.\\n# Note: Using Stackdriver will incur additional charges.\\nmetrics.backend-destination: prometheus\\n# metrics.stackdriver-project-id field specifies the Stackdriver project ID. This\\n# field is optional. When running on GCE, application default credentials will be\\n# used and metrics will be sent to the cluster's project if this field is\\n# not provided.\\nmetrics.stackdriver-project-id: \\\"\\u003cyour stackdriver project id\\u003e\\\"\\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed\\n# to send metrics to Stackdriver using \\\"global\\\" resource type and custom\\n# metric type. Setting this flag to \\\"true\\\" could cause extra Stackdriver\\n# charge.  If metrics.backend-destination is not Stackdriver, this is\\n# ignored.\\nmetrics.allow-stackdriver-custom-metrics: \\\"false\\\"\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/part-of\":\"pipelines-as-code\",\"app.kubernetes.io/version\":\"v0.42.0\"},\"name\":\"pipelines-as-code-config-observability\",\"namespace\":\"pipelines-as-code\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:19:59Z",
                "labels": {
                    "app.kubernetes.io/part-of": "pipelines-as-code",
                    "app.kubernetes.io/version": "v0.42.0"
                },
                "name": "pipelines-as-code-config-observability",
                "namespace": "pipelines-as-code",
                "resourceVersion": "6377",
                "uid": "63a89719-34c3-4328-ac32-36c725683e77"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "controller-url": "",
                "provider": "",
                "version": "v0.42.0"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"controller-url\":\"\",\"provider\":\"\",\"version\":\"v0.42.0\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/part-of\":\"pipelines-as-code\",\"app.kubernetes.io/version\":\"v0.42.0\"},\"name\":\"pipelines-as-code-info\",\"namespace\":\"pipelines-as-code\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:20:00Z",
                "labels": {
                    "app.kubernetes.io/part-of": "pipelines-as-code",
                    "app.kubernetes.io/version": "v0.42.0"
                },
                "name": "pipelines-as-code-info",
                "namespace": "pipelines-as-code",
                "resourceVersion": "6378",
                "uid": "1b41e065-aaf1-4555-ad1d-12d8dfc66af5"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# Common configuration for all Knative codebase\nzap-logger-config: |\n  {\n    \"level\": \"info\",\n    \"development\": false,\n    \"outputPaths\": [\"stdout\"],\n    \"errorOutputPaths\": [\"stderr\"],\n    \"encoding\": \"json\",\n    \"encoderConfig\": {\n      \"timeKey\": \"ts\",\n      \"levelKey\": \"level\",\n      \"nameKey\": \"logger\",\n      \"callerKey\": \"caller\",\n      \"messageKey\": \"msg\",\n      \"stacktraceKey\": \"stacktrace\",\n      \"lineEnding\": \"\",\n      \"levelEncoder\": \"\",\n      \"timeEncoder\": \"iso8601\",\n      \"durationEncoder\": \"\",\n      \"callerEncoder\": \"\"\n    }\n  }\n",
                "loglevel.tekton-operator-cluster-operations": "info",
                "loglevel.tekton-operator-lifecycle": "info",
                "loglevel.tekton-operator-webhook": "info",
                "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"sampling\": {\n    \"initial\": 100,\n    \"thereafter\": 100\n  },\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"timestamp\",\n    \"levelKey\": \"level\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"msg\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"_example\":\"################################\\n#                              #\\n#    EXAMPLE CONFIGURATION     #\\n#                              #\\n################################\\n\\n# This block is not actually functional configuration,\\n# but serves to illustrate the available configuration\\n# options and document them in a way that is accessible\\n# to users that `kubectl edit` this config map.\\n#\\n# These sample configuration options may be copied out of\\n# this example block and unindented to be in the data block\\n# to actually change the configuration.\\n\\n# Common configuration for all Knative codebase\\nzap-logger-config: |\\n  {\\n    \\\"level\\\": \\\"info\\\",\\n    \\\"development\\\": false,\\n    \\\"outputPaths\\\": [\\\"stdout\\\"],\\n    \\\"errorOutputPaths\\\": [\\\"stderr\\\"],\\n    \\\"encoding\\\": \\\"json\\\",\\n    \\\"encoderConfig\\\": {\\n      \\\"timeKey\\\": \\\"ts\\\",\\n      \\\"levelKey\\\": \\\"level\\\",\\n      \\\"nameKey\\\": \\\"logger\\\",\\n      \\\"callerKey\\\": \\\"caller\\\",\\n      \\\"messageKey\\\": \\\"msg\\\",\\n      \\\"stacktraceKey\\\": \\\"stacktrace\\\",\\n      \\\"lineEnding\\\": \\\"\\\",\\n      \\\"levelEncoder\\\": \\\"\\\",\\n      \\\"timeEncoder\\\": \\\"iso8601\\\",\\n      \\\"durationEncoder\\\": \\\"\\\",\\n      \\\"callerEncoder\\\": \\\"\\\"\\n    }\\n  }\\n\",\"loglevel.tekton-operator-cluster-operations\":\"info\",\"loglevel.tekton-operator-lifecycle\":\"info\",\"loglevel.tekton-operator-webhook\":\"info\",\"zap-logger-config\":\"{\\n  \\\"level\\\": \\\"info\\\",\\n  \\\"development\\\": false,\\n  \\\"sampling\\\": {\\n    \\\"initial\\\": 100,\\n    \\\"thereafter\\\": 100\\n  },\\n  \\\"outputPaths\\\": [\\\"stdout\\\"],\\n  \\\"errorOutputPaths\\\": [\\\"stderr\\\"],\\n  \\\"encoding\\\": \\\"json\\\",\\n  \\\"encoderConfig\\\": {\\n    \\\"timeKey\\\": \\\"timestamp\\\",\\n    \\\"levelKey\\\": \\\"level\\\",\\n    \\\"nameKey\\\": \\\"logger\\\",\\n    \\\"callerKey\\\": \\\"caller\\\",\\n    \\\"messageKey\\\": \\\"msg\\\",\\n    \\\"stacktraceKey\\\": \\\"stacktrace\\\",\\n    \\\"lineEnding\\\": \\\"\\\",\\n    \\\"levelEncoder\\\": \\\"\\\",\\n    \\\"timeEncoder\\\": \\\"iso8601\\\",\\n    \\\"durationEncoder\\\": \\\"\\\",\\n    \\\"callerEncoder\\\": \\\"\\\"\\n  }\\n}\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"operator.tekton.dev/release\":\"v0.79.0\"},\"name\":\"config-logging\",\"namespace\":\"tekton-operator\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:17:22Z",
                "labels": {
                    "operator.tekton.dev/release": "v0.79.0"
                },
                "name": "config-logging",
                "namespace": "tekton-operator",
                "resourceVersion": "4475",
                "uid": "fbd2234b-afed-4385-af15-1621a801f800"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T10:17:18Z",
                "name": "kube-root-ca.crt",
                "namespace": "tekton-operator",
                "resourceVersion": "4413",
                "uid": "3abc652f-fa21-4935-a027-6d838051144e"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "AUTOINSTALL_COMPONENTS": "true",
                "DEFAULT_TARGET_NAMESPACE": "tekton-pipelines"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"AUTOINSTALL_COMPONENTS\":\"true\",\"DEFAULT_TARGET_NAMESPACE\":\"tekton-pipelines\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"operator.tekton.dev/release\":\"v0.79.0\"},\"name\":\"tekton-config-defaults\",\"namespace\":\"tekton-operator\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:17:22Z",
                "labels": {
                    "operator.tekton.dev/release": "v0.79.0"
                },
                "name": "tekton-config-defaults",
                "namespace": "tekton-operator",
                "resourceVersion": "4476",
                "uid": "f518450a-509a-418a-aa5d-f4312a30d3c1"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using Stackdriver will incur additional charges.\nmetrics.backend-destination: prometheus\n# metrics.stackdriver-project-id field specifies the Stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used and metrics will be sent to the cluster's project if this field is\n# not provided.\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed\n# to send metrics to Stackdriver using \"global\" resource type and custom\n# metric type. Setting this flag to \"true\" could cause extra Stackdriver\n# charge.  If metrics.backend-destination is not Stackdriver, this is\n# ignored.\nmetrics.allow-stackdriver-custom-metrics: \"false\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"_example\":\"################################\\n#                              #\\n#    EXAMPLE CONFIGURATION     #\\n#                              #\\n################################\\n# This block is not actually functional configuration,\\n# but serves to illustrate the available configuration\\n# options and document them in a way that is accessible\\n# to users that `kubectl edit` this config map.\\n#\\n# These sample configuration options may be copied out of\\n# this example block and unindented to be in the data block\\n# to actually change the configuration.\\n# metrics.backend-destination field specifies the system metrics destination.\\n# It supports either prometheus (the default) or stackdriver.\\n# Note: Using Stackdriver will incur additional charges.\\nmetrics.backend-destination: prometheus\\n# metrics.stackdriver-project-id field specifies the Stackdriver project ID. This\\n# field is optional. When running on GCE, application default credentials will be\\n# used and metrics will be sent to the cluster's project if this field is\\n# not provided.\\nmetrics.stackdriver-project-id: \\\"\\u003cyour stackdriver project id\\u003e\\\"\\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed\\n# to send metrics to Stackdriver using \\\"global\\\" resource type and custom\\n# metric type. Setting this flag to \\\"true\\\" could cause extra Stackdriver\\n# charge.  If metrics.backend-destination is not Stackdriver, this is\\n# ignored.\\nmetrics.allow-stackdriver-custom-metrics: \\\"false\\\"\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/instance\":\"default\"},\"name\":\"tekton-config-observability\",\"namespace\":\"tekton-operator\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:17:22Z",
                "labels": {
                    "app.kubernetes.io/instance": "default"
                },
                "name": "tekton-config-observability",
                "namespace": "tekton-operator",
                "resourceVersion": "4478",
                "uid": "baa0fa6c-cfd1-4fd3-a21a-d74df64cf415"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"_example\":\"################################\\n#                              #\\n#    EXAMPLE CONFIGURATION     #\\n#                              #\\n################################\\n# This block is not actually functional configuration,\\n# but serves to illustrate the available configuration\\n# options and document them in a way that is accessible\\n# to users that `kubectl edit` this config map.\\n#\\n# These sample configuration options may be copied out of\\n# this example block and unindented to be in the data block\\n# to actually change the configuration.\\n# lease-duration is how long non-leaders will wait to try to acquire the\\n# lock; 15 seconds is the value used by core kubernetes controllers.\\nlease-duration: \\\"60s\\\"\\n# renew-deadline is how long a leader will try to renew the lease before\\n# giving up; 10 seconds is the value used by core kubernetes controllers.\\nrenew-deadline: \\\"40s\\\"\\n# retry-period is how long the leader election client waits between tries of\\n# actions; 2 seconds is the value used by core kubernetes controllers.\\nretry-period: \\\"10s\\\"\\n# buckets is the number of buckets used to partition key space of each\\n# Reconciler. If this number is M and the replica number of the controller\\n# is N, the N replicas will compete for the M buckets. The owner of a\\n# bucket will take care of the reconciling for the keys partitioned into\\n# that bucket.\\nbuckets: \\\"1\\\"\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/instance\":\"default\",\"operator.tekton.dev/release\":\"v0.79.0\"},\"name\":\"tekton-operator-controller-config-leader-election\",\"namespace\":\"tekton-operator\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:17:22Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "operator.tekton.dev/release": "v0.79.0"
                },
                "name": "tekton-operator-controller-config-leader-election",
                "namespace": "tekton-operator",
                "resourceVersion": "4480",
                "uid": "d7173b2a-a436-41df-9387-289e1333ec49"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "version": "v0.79.0"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"version\":\"v0.79.0\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/instance\":\"default\"},\"name\":\"tekton-operator-info\",\"namespace\":\"tekton-operator\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:17:22Z",
                "labels": {
                    "app.kubernetes.io/instance": "default"
                },
                "name": "tekton-operator-info",
                "namespace": "tekton-operator",
                "resourceVersion": "4481",
                "uid": "8116cd8c-57d0-4388-9816-36e3f563db72"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"_example\":\"################################\\n#                              #\\n#    EXAMPLE CONFIGURATION     #\\n#                              #\\n################################\\n# This block is not actually functional configuration,\\n# but serves to illustrate the available configuration\\n# options and document them in a way that is accessible\\n# to users that `kubectl edit` this config map.\\n#\\n# These sample configuration options may be copied out of\\n# this example block and unindented to be in the data block\\n# to actually change the configuration.\\n# lease-duration is how long non-leaders will wait to try to acquire the\\n# lock; 15 seconds is the value used by core kubernetes controllers.\\nlease-duration: \\\"60s\\\"\\n# renew-deadline is how long a leader will try to renew the lease before\\n# giving up; 10 seconds is the value used by core kubernetes controllers.\\nrenew-deadline: \\\"40s\\\"\\n# retry-period is how long the leader election client waits between tries of\\n# actions; 2 seconds is the value used by core kubernetes controllers.\\nretry-period: \\\"10s\\\"\\n# buckets is the number of buckets used to partition key space of each\\n# Reconciler. If this number is M and the replica number of the controller\\n# is N, the N replicas will compete for the M buckets. The owner of a\\n# bucket will take care of the reconciling for the keys partitioned into\\n# that bucket.\\nbuckets: \\\"1\\\"\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/instance\":\"default\",\"operator.tekton.dev/release\":\"devel\"},\"name\":\"tekton-operator-webhook-config-leader-election\",\"namespace\":\"tekton-operator\"}}\n"
                },
                "creationTimestamp": "2026-05-13T10:17:23Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "operator.tekton.dev/release": "devel"
                },
                "name": "tekton-operator-webhook-config-leader-election",
                "namespace": "tekton-operator",
                "resourceVersion": "4482",
                "uid": "396541dc-9b98-4a16-8fef-cd5a780f276c"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "default-kind": "task",
                "default-service-account": "default"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "90c6aed1a858565765bfed872d3b585236d3ff339b915c967a815c30b825105d"
                },
                "creationTimestamp": "2026-05-13T10:17:45Z",
                "labels": {
                    "app.kubernetes.io/component": "resolvers",
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "bundleresolver-config",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4693",
                "uid": "82067a7d-0f74-4003-a353-28bc7dbe42fe"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "artifacts.oci.format": "simplesigning",
                "artifacts.oci.storage": "oci",
                "artifacts.pipelinerun.enable-deep-inspection": "true",
                "artifacts.pipelinerun.format": "in-toto",
                "artifacts.pipelinerun.storage": "oci",
                "artifacts.taskrun.format": "in-toto",
                "artifacts.taskrun.storage": "",
                "performance": "disable-ha: false\n",
                "transparency.enabled": "false"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "7fccb849676180e602a6a79bd9fdfbdd9d16ff26eab3cd3b766ec2dac97b9d1c"
                },
                "creationTimestamp": "2026-05-13T10:19:56Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-chains",
                    "operator.tekton.dev/operand-name": "tektoncd-chains"
                },
                "name": "chains-config",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "chain-config-bmgrt",
                        "uid": "95deb1e4-1069-46bc-b98f-68272f3595c5"
                    }
                ],
                "resourceVersion": "6217",
                "uid": "497cb153-f0d4-4172-8944-e91be71b2fdf"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "version": "v0.26.2"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "d7ecf5e7f81cb9e56d4ed57f3480d8c14269203c0f9e6ae4517e11b89f1cdb86"
                },
                "creationTimestamp": "2026-05-13T10:18:58Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-chains",
                    "operator.tekton.dev/operand-name": "tektoncd-chains"
                },
                "name": "chains-info",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "chain-k4m8m",
                        "uid": "e9b65a74-af1c-44c0-b686-026b71fe990f"
                    }
                ],
                "resourceVersion": "5543",
                "uid": "769f6546-adc6-46e2-b312-17c14fac5ec4"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "allowed-namespaces": "",
                "blocked-namespaces": "",
                "default-kind": "task",
                "default-namespace": ""
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "2bdcb0db220108588fd39364726d23344b07a239d649bed60a3b8292446281b5"
                },
                "creationTimestamp": "2026-05-13T10:17:45Z",
                "labels": {
                    "app.kubernetes.io/component": "resolvers",
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "cluster-resolver-config",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4694",
                "uid": "3ee5857f-cbcd-43c9-a630-4de998a35d52"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# default-timeout-minutes contains the default number of\n# minutes to use for TaskRun and PipelineRun, if none is specified.\ndefault-timeout-minutes: \"60\"  # 60 minutes\n\n# default-service-account contains the default service account name\n# to use for TaskRun and PipelineRun, if none is specified.\ndefault-service-account: \"default\"\n\n# default-managed-by-label-value contains the default value given to the\n# \"app.kubernetes.io/managed-by\" label applied to all Pods created for\n# TaskRuns. If a user's requested TaskRun specifies another value for this\n# label, the user's request supercedes.\ndefault-managed-by-label-value: \"tekton-pipelines\"\n\n# default-pod-template contains the default pod template to use for\n# TaskRun and PipelineRun. If a pod template is specified on the\n# PipelineRun, the default-pod-template is merged with that one.\n# default-pod-template:\n\n# default-affinity-assistant-pod-template contains the default pod template\n# to use for affinity assistant pods. If a pod template is specified on the\n# PipelineRun, the default-affinity-assistant-pod-template is merged with\n# that one.\n# default-affinity-assistant-pod-template:\n\n# default-cloud-events-sink contains the default CloudEvents sink to be\n# used for TaskRun and PipelineRun, when no sink is specified.\n# Note that right now it is still not possible to set a PipelineRun or\n# TaskRun specific sink, so the default is the only option available.\n# If no sink is specified, no CloudEvent is generated\n# default-cloud-events-sink:\n\n# default-task-run-workspace-binding contains the default workspace\n# configuration provided for any Workspaces that a Task declares\n# but that a TaskRun does not explicitly provide.\n# default-task-run-workspace-binding: |\n#   emptyDir: {}\n\n# default-max-matrix-combinations-count contains the default maximum number\n# of combinations from a Matrix, if none is specified.\ndefault-max-matrix-combinations-count: \"256\"\n\n# default-forbidden-env contains comma seperated environment variables that cannot be\n# overridden by podTemplate.\ndefault-forbidden-env:\n\n# default-resolver-type contains the default resolver type to be used in the cluster,\n# no default-resolver-type is specified by default\ndefault-resolver-type:\n\n# default-imagepullbackoff-timeout contains the default duration to wait\n# before requeuing the TaskRun to retry, specifying 0 here is equivalent to fail fast\n# possible values could be 1m, 5m, 10s, 1h, etc\n# default-imagepullbackoff-timeout: \"5m\"\n\n# default-maximum-resolution-timeout specifies the default duration used by the\n# resolution controller before timing out when exceeded.\n# Possible values include \"1m\", \"5m\", \"10s\", \"1h\", etc.\n# Example: default-maximum-resolution-timeout: \"1m\"\n\n# default-container-resource-requirements allow users to update default resource requirements\n# to a init-containers and containers of a pods create by the controller\n# Onet: All the resource requirements are applied to init-containers and containers\n# only if the existing resource requirements are empty.\n# default-container-resource-requirements: |\n#   place-scripts: # updates resource requirements of a 'place-scripts' container\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"128Mi\"\n#       cpu: \"500m\"\n#\n#   prepare: # updates resource requirements of a 'prepare' container\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"256Mi\"\n#       cpu: \"500m\"\n#\n#   working-dir-initializer: # updates resource requirements of a 'working-dir-initializer' container\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"512Mi\"\n#       cpu: \"500m\"\n#\n#   prefix-scripts: # updates resource requirements of containers which starts with 'scripts-'\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"128Mi\"\n#       cpu: \"500m\"\n#\n#   prefix-sidecar-scripts: # updates resource requirements of containers which starts with 'sidecar-scripts-'\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"128Mi\"\n#       cpu: \"500m\"\n#\n#   default: # updates resource requirements of init-containers and containers which has empty resource requirements\n#     requests:\n#       memory: \"64Mi\"\n#       cpu: \"250m\"\n#     limits:\n#       memory: \"256Mi\"\n#       cpu: \"500m\"\n\n# default-sidecar-log-polling-interval specifies the polling interval for the Tekton sidecar log results container.\n# This controls how frequently the sidecar checks for step completion files written by steps in a TaskRun.\n# Lower values (e.g., \"10ms\") make the sidecar more responsive but may increase CPU usage; higher values (e.g., \"1s\")\n# reduce resource usage but may delay result collection.\n# This value is used by the sidecar-tekton-log-results container and can be tuned for performance or test scenarios.\n# Example values: \"100ms\", \"500ms\", \"1s\"\ndefault-sidecar-log-polling-interval: \"100ms\"\n\n# default-step-ref-concurrency-limit specifies the concurrency limit for resolving step references.\n# This setting controls the maximum number of concurrent goroutines used to resolve\n# step references (`step.ref` fields) simultaneously. This limit acts as a throttle\n# to prevent overwhelming remote servers (e.g., git providers, OCI registries) or\n# the Kubernetes API server, especially when a TaskRun contains many steps that\n# reference StepActions.\ndefault-step-ref-concurrency-limit: \"5\"\n",
                "default-service-account": "default"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"_example\":\"################################\\n#                              #\\n#    EXAMPLE CONFIGURATION     #\\n#                              #\\n################################\\n\\n# This block is not actually functional configuration,\\n# but serves to illustrate the available configuration\\n# options and document them in a way that is accessible\\n# to users that `kubectl edit` this config map.\\n#\\n# These sample configuration options may be copied out of\\n# this example block and unindented to be in the data block\\n# to actually change the configuration.\\n\\n# default-timeout-minutes contains the default number of\\n# minutes to use for TaskRun and PipelineRun, if none is specified.\\ndefault-timeout-minutes: \\\"60\\\"  # 60 minutes\\n\\n# default-service-account contains the default service account name\\n# to use for TaskRun and PipelineRun, if none is specified.\\ndefault-service-account: \\\"default\\\"\\n\\n# default-managed-by-label-value contains the default value given to the\\n# \\\"app.kubernetes.io/managed-by\\\" label applied to all Pods created for\\n# TaskRuns. If a user's requested TaskRun specifies another value for this\\n# label, the user's request supercedes.\\ndefault-managed-by-label-value: \\\"tekton-pipelines\\\"\\n\\n# default-pod-template contains the default pod template to use for\\n# TaskRun and PipelineRun. If a pod template is specified on the\\n# PipelineRun, the default-pod-template is merged with that one.\\n# default-pod-template:\\n\\n# default-affinity-assistant-pod-template contains the default pod template\\n# to use for affinity assistant pods. If a pod template is specified on the\\n# PipelineRun, the default-affinity-assistant-pod-template is merged with\\n# that one.\\n# default-affinity-assistant-pod-template:\\n\\n# default-cloud-events-sink contains the default CloudEvents sink to be\\n# used for TaskRun and PipelineRun, when no sink is specified.\\n# Note that right now it is still not possible to set a PipelineRun or\\n# TaskRun specific sink, so the default is the only option available.\\n# If no sink is specified, no CloudEvent is generated\\n# default-cloud-events-sink:\\n\\n# default-task-run-workspace-binding contains the default workspace\\n# configuration provided for any Workspaces that a Task declares\\n# but that a TaskRun does not explicitly provide.\\n# default-task-run-workspace-binding: |\\n#   emptyDir: {}\\n\\n# default-max-matrix-combinations-count contains the default maximum number\\n# of combinations from a Matrix, if none is specified.\\ndefault-max-matrix-combinations-count: \\\"256\\\"\\n\\n# default-forbidden-env contains comma seperated environment variables that cannot be\\n# overridden by podTemplate.\\ndefault-forbidden-env:\\n\\n# default-resolver-type contains the default resolver type to be used in the cluster,\\n# no default-resolver-type is specified by default\\ndefault-resolver-type:\\n\\n# default-imagepullbackoff-timeout contains the default duration to wait\\n# before requeuing the TaskRun to retry, specifying 0 here is equivalent to fail fast\\n# possible values could be 1m, 5m, 10s, 1h, etc\\n# default-imagepullbackoff-timeout: \\\"5m\\\"\\n\\n# default-maximum-resolution-timeout specifies the default duration used by the\\n# resolution controller before timing out when exceeded.\\n# Possible values include \\\"1m\\\", \\\"5m\\\", \\\"10s\\\", \\\"1h\\\", etc.\\n# Example: default-maximum-resolution-timeout: \\\"1m\\\"\\n\\n# default-container-resource-requirements allow users to update default resource requirements\\n# to a init-containers and containers of a pods create by the controller\\n# Onet: All the resource requirements are applied to init-containers and containers\\n# only if the existing resource requirements are empty.\\n# default-container-resource-requirements: |\\n#   place-scripts: # updates resource requirements of a 'place-scripts' container\\n#     requests:\\n#       memory: \\\"64Mi\\\"\\n#       cpu: \\\"250m\\\"\\n#     limits:\\n#       memory: \\\"128Mi\\\"\\n#       cpu: \\\"500m\\\"\\n#\\n#   prepare: # updates resource requirements of a 'prepare' container\\n#     requests:\\n#       memory: \\\"64Mi\\\"\\n#       cpu: \\\"250m\\\"\\n#     limits:\\n#       memory: \\\"256Mi\\\"\\n#       cpu: \\\"500m\\\"\\n#\\n#   working-dir-initializer: # updates resource requirements of a 'working-dir-initializer' container\\n#     requests:\\n#       memory: \\\"64Mi\\\"\\n#       cpu: \\\"250m\\\"\\n#     limits:\\n#       memory: \\\"512Mi\\\"\\n#       cpu: \\\"500m\\\"\\n#\\n#   prefix-scripts: # updates resource requirements of containers which starts with 'scripts-'\\n#     requests:\\n#       memory: \\\"64Mi\\\"\\n#       cpu: \\\"250m\\\"\\n#     limits:\\n#       memory: \\\"128Mi\\\"\\n#       cpu: \\\"500m\\\"\\n#\\n#   prefix-sidecar-scripts: # updates resource requirements of containers which starts with 'sidecar-scripts-'\\n#     requests:\\n#       memory: \\\"64Mi\\\"\\n#       cpu: \\\"250m\\\"\\n#     limits:\\n#       memory: \\\"128Mi\\\"\\n#       cpu: \\\"500m\\\"\\n#\\n#   default: # updates resource requirements of init-containers and containers which has empty resource requirements\\n#     requests:\\n#       memory: \\\"64Mi\\\"\\n#       cpu: \\\"250m\\\"\\n#     limits:\\n#       memory: \\\"256Mi\\\"\\n#       cpu: \\\"500m\\\"\\n\\n# default-sidecar-log-polling-interval specifies the polling interval for the Tekton sidecar log results container.\\n# This controls how frequently the sidecar checks for step completion files written by steps in a TaskRun.\\n# Lower values (e.g., \\\"10ms\\\") make the sidecar more responsive but may increase CPU usage; higher values (e.g., \\\"1s\\\")\\n# reduce resource usage but may delay result collection.\\n# This value is used by the sidecar-tekton-log-results container and can be tuned for performance or test scenarios.\\n# Example values: \\\"100ms\\\", \\\"500ms\\\", \\\"1s\\\"\\ndefault-sidecar-log-polling-interval: \\\"100ms\\\"\\n\\n# default-step-ref-concurrency-limit specifies the concurrency limit for resolving step references.\\n# This setting controls the maximum number of concurrent goroutines used to resolve\\n# step references (`step.ref` fields) simultaneously. This limit acts as a throttle\\n# to prevent overwhelming remote servers (e.g., git providers, OCI registries) or\\n# the Kubernetes API server, especially when a TaskRun contains many steps that\\n# reference StepActions.\\ndefault-step-ref-concurrency-limit: \\\"5\\\"\\n\",\"default-service-account\":\"default\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{\"operator.tekton.dev/last-applied-hash\":\"f944e7f4d73e59fb182c7a4e3fc85e51dcdeebfa5f23ff824a74abc37d01fbc5\"},\"creationTimestamp\":null,\"labels\":{\"app.kubernetes.io/instance\":\"default\",\"app.kubernetes.io/part-of\":\"tekton-pipelines\",\"operator.tekton.dev/operand-name\":\"tektoncd-pipelines\"},\"name\":\"config-defaults\",\"namespace\":\"tekton-pipelines\",\"ownerReferences\":[{\"apiVersion\":\"operator.tekton.dev/v1alpha1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"TektonInstallerSet\",\"name\":\"pipeline-main-static-d69sp\",\"uid\":\"a8153609-7d59-48ba-8d9d-a01c7cbf92d3\"}]}}\n",
                    "operator.tekton.dev/last-applied-hash": "f944e7f4d73e59fb182c7a4e3fc85e51dcdeebfa5f23ff824a74abc37d01fbc5"
                },
                "creationTimestamp": "2026-05-13T10:17:44Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-defaults",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "6376",
                "uid": "e60313a2-86a6-426f-bc09-51453ede2256"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# default-service-account contains the default service account name\n# to use for TaskRun and PipelineRun, if none is specified.\ndefault-service-account: \"default\"\ndefault-run-as-user: \"65532\"\ndefault-run-as-group: \"65532\"\ndefault-fs-group: \"65532\"\ndefault-run-as-non-root: \"true\" # allowed values are true and false\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "32b6a2af770d0bfae833b1aad6b438ddf45fdf9d76b89121c542e6b316164c34"
                },
                "creationTimestamp": "2026-05-13T10:18:18Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-triggers",
                    "operator.tekton.dev/operand-name": "tektoncd-triggers"
                },
                "name": "config-defaults-triggers",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "trigger-main-static-qbfrn",
                        "uid": "0c240fba-162e-46d7-9122-a9f8ac3bece5"
                    }
                ],
                "resourceVersion": "5162",
                "uid": "d994b0aa-4a08-41df-b207-f69881e24383"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# formats contains a comma seperated list of event formats to be used\n# the only format supported today is \"tektonv1\". An empty string is not\n# a valid configuration. To disable events, do not specify the sink.\nformats: \"tektonv1\"\n\n# sink contains the event sink to be used for TaskRun, PipelineRun and\n# CustomRun. If no sink is specified, no CloudEvent is generated.\n# This setting supercedes the \"default-cloud-events-sink\" from the\n# \"config-defaults\" config map\nsink: \"https://events.sink/cdevents\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "8cc65b088a2add65fd30b6245a8452e2decb715a3bba61326473d4c82824da66"
                },
                "creationTimestamp": "2026-05-13T10:17:44Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-events",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4676",
                "uid": "7e734881-20f1-4be1-b800-cde52d75d916"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "09a288368ee5093be7752ecc0da3aa3a89a814941ec57a8aaaef1708911318cd"
                },
                "creationTimestamp": "2026-05-13T10:17:44Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-leader-election-controller",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4680",
                "uid": "fd16f647-3628-4118-97b2-1e99031529a2"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "ba306cf7e7725eb3e8425bca5f8cf43d8f80d3175947a044548c6bc2610fe2f1"
                },
                "creationTimestamp": "2026-05-13T10:17:44Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-leader-election-events",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4681",
                "uid": "192b9618-9524-40ff-98cb-31eaab5e3a0e"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "5258a1883ea091c5d866545be0f4f1ac5fcee7d02df68af1fed00d8eae3ce3b1"
                },
                "creationTimestamp": "2026-05-13T10:17:46Z",
                "labels": {
                    "app.kubernetes.io/component": "resolvers",
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-leader-election-resolvers",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4696",
                "uid": "5649a0ad-e508-4480-b424-f9579bb22ef9"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "2e45cad85171358e8dd53f7580969d42b2e7bdeee81ecba8c782afde3adaeaa6"
                },
                "creationTimestamp": "2026-05-13T10:18:18Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-triggers",
                    "operator.tekton.dev/operand-name": "tektoncd-triggers"
                },
                "name": "config-leader-election-triggers-controller",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "trigger-main-static-qbfrn",
                        "uid": "0c240fba-162e-46d7-9122-a9f8ac3bece5"
                    }
                ],
                "resourceVersion": "5166",
                "uid": "89037be7-8d5e-4246-b149-e77c9d707154"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "ecb9f7b7e80463d9062d112e60045bf9552ace9488170b9e9469a7c0ff90af09"
                },
                "creationTimestamp": "2026-05-13T10:18:18Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-triggers",
                    "operator.tekton.dev/operand-name": "tektoncd-triggers"
                },
                "name": "config-leader-election-triggers-webhook",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "trigger-main-static-qbfrn",
                        "uid": "0c240fba-162e-46d7-9122-a9f8ac3bece5"
                    }
                ],
                "resourceVersion": "5168",
                "uid": "b860d461-f621-418f-8f05-71feea65172d"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "da8056382eb401b740d7bd3bb1262f927f52c9fb8d8c8f3d26b86963279946e3"
                },
                "creationTimestamp": "2026-05-13T10:17:45Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-leader-election-webhook",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4683",
                "uid": "65793083-570f-42bb-a32a-3c3327c314ca"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "loglevel.controller": "info",
                "loglevel.webhook": "info",
                "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"sampling\": {\n    \"initial\": 100,\n    \"thereafter\": 100\n  },\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"ts\",\n    \"levelKey\": \"level\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"msg\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"loglevel.controller\":\"info\",\"loglevel.webhook\":\"info\",\"zap-logger-config\":\"{\\n  \\\"level\\\": \\\"info\\\",\\n  \\\"development\\\": false,\\n  \\\"sampling\\\": {\\n    \\\"initial\\\": 100,\\n    \\\"thereafter\\\": 100\\n  },\\n  \\\"outputPaths\\\": [\\\"stdout\\\"],\\n  \\\"errorOutputPaths\\\": [\\\"stderr\\\"],\\n  \\\"encoding\\\": \\\"json\\\",\\n  \\\"encoderConfig\\\": {\\n    \\\"timeKey\\\": \\\"ts\\\",\\n    \\\"levelKey\\\": \\\"level\\\",\\n    \\\"nameKey\\\": \\\"logger\\\",\\n    \\\"callerKey\\\": \\\"caller\\\",\\n    \\\"messageKey\\\": \\\"msg\\\",\\n    \\\"stacktraceKey\\\": \\\"stacktrace\\\",\\n    \\\"lineEnding\\\": \\\"\\\",\\n    \\\"levelEncoder\\\": \\\"\\\",\\n    \\\"timeEncoder\\\": \\\"iso8601\\\",\\n    \\\"durationEncoder\\\": \\\"\\\",\\n    \\\"callerEncoder\\\": \\\"\\\"\\n  }\\n}\\n\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{\"operator.tekton.dev/last-applied-hash\":\"534ada5336ab804a0c8fb398dbc75e5ee2277413f734323fa2b430d1aa95121c\"},\"labels\":{\"app.kubernetes.io/instance\":\"default\",\"app.kubernetes.io/part-of\":\"tekton-chains\",\"operator.tekton.dev/operand-name\":\"tektoncd-chains\"},\"name\":\"config-logging\",\"namespace\":\"tekton-pipelines\",\"ownerReferences\":[{\"apiVersion\":\"operator.tekton.dev/v1alpha1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"TektonInstallerSet\",\"name\":\"chain-k4m8m\",\"uid\":\"e9b65a74-af1c-44c0-b686-026b71fe990f\"}]}}\n",
                    "operator.tekton.dev/last-applied-hash": "534ada5336ab804a0c8fb398dbc75e5ee2277413f734323fa2b430d1aa95121c"
                },
                "creationTimestamp": "2026-05-13T10:17:45Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-chains",
                    "operator.tekton.dev/operand-name": "tektoncd-chains"
                },
                "name": "config-logging",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "chain-k4m8m",
                        "uid": "e9b65a74-af1c-44c0-b686-026b71fe990f"
                    }
                ],
                "resourceVersion": "6533",
                "uid": "bb3588fd-a2cf-4352-a2b7-db6bf1cb8899"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "loglevel.controller": "info",
                "loglevel.eventlistener": "info",
                "loglevel.webhook": "info",
                "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"disableStacktrace\": true,\n  \"sampling\": {\n    \"initial\": 100,\n    \"thereafter\": 100\n  },\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"timestamp\",\n    \"levelKey\": \"severity\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"message\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "ac91bf10388b7cfc74885fdc860e87ccbc48b5a4e73b5b64c577a2e137dfb85a"
                },
                "creationTimestamp": "2026-05-13T10:18:18Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-triggers",
                    "operator.tekton.dev/operand-name": "tektoncd-triggers"
                },
                "name": "config-logging-triggers",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "trigger-main-static-qbfrn",
                        "uid": "0c240fba-162e-46d7-9122-a9f8ac3bece5"
                    }
                ],
                "resourceVersion": "5169",
                "uid": "c1ba1499-d036-4409-8bcb-d955f0ab9d1a"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# OpenTelemetry Metrics Configuration\n# Protocol for metrics export (prometheus, grpc, http/protobuf, none)\n# Default if not specified: \"none\"\nmetrics-protocol: prometheus\n\n# Metrics endpoint (for grpc/http protocols)\n# Default: empty (uses default OTLP endpoint)\nmetrics-endpoint: \"\"\n\n# Metrics export interval (e.g., \"30s\", \"1m\")\n# Default: empty (uses default interval)\nmetrics-export-interval: \"\"\n\n# OpenTelemetry Tracing Configuration\n# Protocol for tracing export (grpc, http/protobuf, none, stdout)\n# Default: none\ntracing-protocol: none\n\n# Tracing endpoint (for grpc/http protocols)\n# Default: empty\ntracing-endpoint: \"\"\n\n# Tracing sampling rate (0.0 to 1.0)\n# Default: 1.0 (100% sampling)\ntracing-sampling-rate: \"1.0\"\n\n# Runtime Configuration\n# Enable profiling (enabled, disabled)\n# Default: disabled\nruntime-profiling: disabled\n\n# Runtime export interval (e.g., \"15s\")\n# Default: 15s\nruntime-export-interval: \"15s\"\n\n# Note: Legacy OpenCensus configuration (metrics.backend-destination, etc.) has been\n# removed as OpenCensus support is no longer provided by the underlying infrastructure.\n# Please use the OpenTelemetry configuration options above.\n",
                "metrics-protocol": "prometheus",
                "metrics.count.enable-reason": "false",
                "metrics.pipelinerun.duration-type": "histogram",
                "metrics.pipelinerun.level": "pipeline",
                "metrics.taskrun.duration-type": "histogram",
                "metrics.taskrun.level": "task"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"_example\":\"################################\\n#                              #\\n#    EXAMPLE CONFIGURATION     #\\n#                              #\\n################################\\n\\n# This block is not actually functional configuration,\\n# but serves to illustrate the available configuration\\n# options and document them in a way that is accessible\\n# to users that `kubectl edit` this config map.\\n#\\n# These sample configuration options may be copied out of\\n# this example block and unindented to be in the data block\\n# to actually change the configuration.\\n\\n# OpenTelemetry Metrics Configuration\\n# Protocol for metrics export (prometheus, grpc, http/protobuf, none)\\n# Default if not specified: \\\"none\\\"\\nmetrics-protocol: prometheus\\n\\n# Metrics endpoint (for grpc/http protocols)\\n# Default: empty (uses default OTLP endpoint)\\nmetrics-endpoint: \\\"\\\"\\n\\n# Metrics export interval (e.g., \\\"30s\\\", \\\"1m\\\")\\n# Default: empty (uses default interval)\\nmetrics-export-interval: \\\"\\\"\\n\\n# OpenTelemetry Tracing Configuration\\n# Protocol for tracing export (grpc, http/protobuf, none, stdout)\\n# Default: none\\ntracing-protocol: none\\n\\n# Tracing endpoint (for grpc/http protocols)\\n# Default: empty\\ntracing-endpoint: \\\"\\\"\\n\\n# Tracing sampling rate (0.0 to 1.0)\\n# Default: 1.0 (100% sampling)\\ntracing-sampling-rate: \\\"1.0\\\"\\n\\n# Runtime Configuration\\n# Enable profiling (enabled, disabled)\\n# Default: disabled\\nruntime-profiling: disabled\\n\\n# Runtime export interval (e.g., \\\"15s\\\")\\n# Default: 15s\\nruntime-export-interval: \\\"15s\\\"\\n\\n# Note: Legacy OpenCensus configuration (metrics.backend-destination, etc.) has been\\n# removed as OpenCensus support is no longer provided by the underlying infrastructure.\\n# Please use the OpenTelemetry configuration options above.\\n\",\"metrics-protocol\":\"prometheus\",\"metrics.count.enable-reason\":\"false\",\"metrics.pipelinerun.duration-type\":\"histogram\",\"metrics.pipelinerun.level\":\"pipeline\",\"metrics.taskrun.duration-type\":\"histogram\",\"metrics.taskrun.level\":\"task\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{\"operator.tekton.dev/last-applied-hash\":\"70b4745899510e7f020efc9e0346b81c4cea6790ea819f30fa75a5a58087d0fe\"},\"creationTimestamp\":null,\"labels\":{\"app.kubernetes.io/instance\":\"default\",\"app.kubernetes.io/part-of\":\"tekton-pipelines\",\"operator.tekton.dev/operand-name\":\"tektoncd-pipelines\"},\"name\":\"config-observability\",\"namespace\":\"tekton-pipelines\",\"ownerReferences\":[{\"apiVersion\":\"operator.tekton.dev/v1alpha1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"TektonInstallerSet\",\"name\":\"pipeline-main-static-d69sp\",\"uid\":\"a8153609-7d59-48ba-8d9d-a01c7cbf92d3\"}]}}\n",
                    "operator.tekton.dev/last-applied-hash": "70b4745899510e7f020efc9e0346b81c4cea6790ea819f30fa75a5a58087d0fe"
                },
                "creationTimestamp": "2026-05-13T10:17:45Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-observability",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "6456",
                "uid": "c6a20620-1f8d-4b15-b736-8a9a2ef88191"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using stackdriver will incur additional charges\nmetrics.backend-destination: prometheus\n\n# metrics.stackdriver-project-id field specifies the stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used if this field is not provided.\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed to send metrics to\n# Stackdriver using \"global\" resource type and custom metric type if the\n# metrics are not supported by \"knative_revision\" resource type. Setting this\n# flag to \"true\" could cause extra Stackdriver charge.\n# If metrics.backend-destination is not Stackdriver, this is ignored.\nmetrics.allow-stackdriver-custom-metrics: \"false\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "c5cdf6ffc36c99cfc029c214a84a31ce1dbd54f198fd39fdd53030c0013fb06a"
                },
                "creationTimestamp": "2026-05-13T10:18:18Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-triggers",
                    "operator.tekton.dev/operand-name": "tektoncd-triggers"
                },
                "name": "config-observability-triggers",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "trigger-main-static-qbfrn",
                        "uid": "0c240fba-162e-46d7-9122-a9f8ac3bece5"
                    }
                ],
                "resourceVersion": "5170",
                "uid": "8b9f3122-8a76-4685-917b-ecf1808c547f"
            }
        },
        {
            "apiVersion": "v1",
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "251bec722a171b5c8617fba27e8c6ef9929320ef0956da16b0820be7bb3f0faa"
                },
                "creationTimestamp": "2026-05-13T10:17:45Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-registry-cert",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4686",
                "uid": "ddb9a9fd-8e18-43eb-baba-c634ef6644bd"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n#\n# spire-trust-domain specifies the SPIRE trust domain to use.\n# spire-trust-domain: \"example.org\"\n#\n# spire-socket-path specifies the SPIRE agent socket for SPIFFE workload API.\n# spire-socket-path: \"unix:///spiffe-workload-api/spire-agent.sock\"\n#\n# spire-server-addr specifies the SPIRE server address for workload/node registration.\n# spire-server-addr: \"spire-server.spire.svc.cluster.local:8081\"\n#\n# spire-node-alias-prefix specifies the SPIRE node alias prefix to use.\n# spire-node-alias-prefix: \"/tekton-node/\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "8965323cf8e97e9e5ab3aa63cd5e5147f193c3ffcc7f045ac0e1fd0747c47f14"
                },
                "creationTimestamp": "2026-05-13T10:17:45Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-spire",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4687",
                "uid": "7f1af899-289e-4ca9-9c87-3369cac0ed9e"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n#\n# Enable sending traces to defined endpoint by setting this to true\nenabled: \"true\"\n#\n# API endpoint to send the traces to\n# (optional): The default value is given below\nendpoint: \"http://jaeger-collector.jaeger.svc.cluster.local:14268/api/traces\"\n# (optional) Name of the k8s secret which contains basic auth credentials\ncredentialsSecret: \"jaeger-creds\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "cd7214b5008ca1c3bccb3d1344f97a1f18af2c6d2d8cc670e56d13bb88f395ac"
                },
                "creationTimestamp": "2026-05-13T10:17:45Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-tracing",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4688",
                "uid": "0e9810eb-d5e7-420f-968f-7742b1ca0bb7"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "cap": "60s",
                "duration": "10s",
                "factor": "2.0",
                "jitter": "0.0",
                "steps": "5"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "eff979f974f6a9773d78d7aa177b23a626e86f31dfb112be2dc8a342f2dbebf4"
                },
                "creationTimestamp": "2026-05-13T10:17:45Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "config-wait-exponential-backoff",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4689",
                "uid": "0aa1ac59-2acb-4008-8ea7-bc3e22685c6d"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "await-sidecar-readiness": "true",
                "coschedule": "workspaces",
                "disable-creds-init": "false",
                "disable-inline-spec": "",
                "enable-api-fields": "beta",
                "enable-artifacts": "false",
                "enable-cel-in-whenexpression": "false",
                "enable-concise-resolver-syntax": "false",
                "enable-custom-tasks": "true",
                "enable-kubernetes-sidecar": "false",
                "enable-param-enum": "false",
                "enable-provenance-in-status": "true",
                "enable-step-actions": "true",
                "enable-tekton-oci-bundles": "false",
                "enable-wait-exponential-backoff": "false",
                "enforce-nonfalsifiability": "none",
                "keep-pod-on-cancel": "false",
                "max-result-size": "4096",
                "performance": "disable-ha: false\n",
                "require-git-ssh-secret-known-hosts": "false",
                "results-from": "termination-message",
                "running-in-environment-with-injected-sidecars": "true",
                "send-cloudevents-for-runs": "false",
                "set-security-context": "false",
                "set-security-context-read-only-root-filesystem": "false",
                "trusted-resources-verification-no-match-policy": "ignore"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "eb66403ae5dd3bd9dfa579c99e2a14342655352c5cc2f9ea3c7981cf3db88b56"
                },
                "creationTimestamp": "2026-05-13T10:17:44Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "feature-flags",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4678",
                "uid": "68680e2e-47a7-4731-847f-2b14148f9aad"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "enable-api-fields": "stable",
                "labels-exclusion-pattern": ""
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "76170c4c7afe703766c4f558daa3e0b3636e84ec2f5b86f06421e1e000278b55"
                },
                "creationTimestamp": "2026-05-13T10:18:18Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-triggers"
                },
                "name": "feature-flags-triggers",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "trigger-main-static-qbfrn",
                        "uid": "0c240fba-162e-46d7-9122-a9f8ac3bece5"
                    }
                ],
                "resourceVersion": "5163",
                "uid": "2f3e0406-6613-4702-8e22-87a3fc0dc9a4"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "api-token-secret-key": "",
                "api-token-secret-name": "",
                "api-token-secret-namespace": "default",
                "default-org": "",
                "default-revision": "main",
                "default-url": "https://github.com/tektoncd/catalog.git",
                "fetch-timeout": "1m",
                "scm-type": "github",
                "server-url": ""
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "5a3f7e5ad2d6f4fe67076ca7216172ac6d1996e350c4c944a50eabf666102ce0"
                },
                "creationTimestamp": "2026-05-13T10:17:46Z",
                "labels": {
                    "app.kubernetes.io/component": "resolvers",
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "git-resolver-config",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4701",
                "uid": "ae15f283-7d0b-47e1-b882-323a1a809b00"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "fetch-timeout": "1m"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "4b18ab49d420b8bc9ccb12bed79c47d246cb414e8f0c9cf11ad8ad36d1ea6552"
                },
                "creationTimestamp": "2026-05-13T10:17:46Z",
                "labels": {
                    "app.kubernetes.io/component": "resolvers",
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "http-resolver-config",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4702",
                "uid": "bed47f71-e57a-4247-92c3-e89086cdf68f"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "default-artifact-hub-pipeline-catalog": "tekton-catalog-pipelines",
                "default-artifact-hub-task-catalog": "tekton-catalog-tasks",
                "default-kind": "task",
                "default-tekton-hub-catalog": "Tekton",
                "default-type": "artifact"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "b3b4aecd70d934a284f9158239cdbbdea98f5281cedd1276403b629df31c8f68"
                },
                "creationTimestamp": "2026-05-13T10:17:46Z",
                "labels": {
                    "app.kubernetes.io/component": "resolvers",
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "hubresolver-config",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4703",
                "uid": "38b5416f-936c-4be6-b50f-7fa0a00f6df2"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T10:17:39Z",
                "name": "kube-root-ca.crt",
                "namespace": "tekton-pipelines",
                "resourceVersion": "4601",
                "uid": "29f9476f-b27a-4b13-9e6f-7115373a43d7"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "version": "v1.10.0"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "7b12801b5edfee79d3fdbdce394275f1aaa040326c54cdcc67ed8e7ff2faf265"
                },
                "creationTimestamp": "2026-05-13T10:17:44Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "pipelines-info",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4679",
                "uid": "7ae10a53-a736-4dfd-8381-a32954f01c7d"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "max-size": "1000",
                "ttl": "5m"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "52a2d976689442eec3991ac524b2ff492206ea34a6c0e5f76a0c502e0fdb67db"
                },
                "creationTimestamp": "2026-05-13T10:17:46Z",
                "labels": {
                    "app.kubernetes.io/component": "resolvers",
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "resolver-cache-config",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4704",
                "uid": "aebc1657-573a-4712-98a5-954db7f20690"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "enable-bundles-resolver": "true",
                "enable-cluster-resolver": "true",
                "enable-git-resolver": "true",
                "enable-http-resolver": "true",
                "enable-hub-resolver": "true"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "68d95cf4e1fa1da8bc8cbf6b30ea2e2641c38cf7c03edd52c7ba367bc9d26871"
                },
                "creationTimestamp": "2026-05-13T10:17:46Z",
                "labels": {
                    "app.kubernetes.io/component": "resolvers",
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-pipelines",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines"
                },
                "name": "resolvers-feature-flags",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4695",
                "uid": "bb27473b-0093-40eb-bbd0-d88f7c491a22"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "03668a45838645d1ec386e2cdac9240c93691ff5197c3352ed71178dd0b749d8"
                },
                "creationTimestamp": "2026-05-13T10:18:58Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-chains",
                    "operator.tekton.dev/operand-name": "tektoncd-chains"
                },
                "name": "tekton-chains-config-leader-election",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "chain-k4m8m",
                        "uid": "e9b65a74-af1c-44c0-b686-026b71fe990f"
                    }
                ],
                "resourceVersion": "5546",
                "uid": "699e9848-4c4f-4411-a05a-6273e49e9e51"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n#\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using Stackdriver will incur additional charges.\n#\nmetrics.backend-destination: prometheus\n#\n# metrics.stackdriver-project-id field specifies the Stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used and metrics will be sent to the cluster's project if this field is\n# not provided.\n#\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n#\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed\n# to send metrics to Stackdriver using \"global\" resource type and custom\n# metric type. Setting this flag to \"true\" could cause extra Stackdriver\n# charge.  If metrics.backend-destination is not Stackdriver, this is\n# ignored.\n#\nmetrics.allow-stackdriver-custom-metrics: \"false\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "9d85354d21216aa57ccc5e03b599209d842b21fd8b53f4d25b55a58521e256ec"
                },
                "creationTimestamp": "2026-05-13T10:18:58Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-chains",
                    "operator.tekton.dev/operand-name": "tektoncd-chains"
                },
                "name": "tekton-chains-config-observability",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "chain-k4m8m",
                        "uid": "e9b65a74-af1c-44c0-b686-026b71fe990f"
                    }
                ],
                "resourceVersion": "5554",
                "uid": "54f32975-0f8f-4ff5-9c58-5b4f1b762588"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "e4d237301a2d2bba6e1924c3263620f317a061c179a70f9b0e40d5c2aef09cee"
                },
                "creationTimestamp": "2026-05-13T10:17:47Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "operator.tekton.dev/operand-name": "tektoncd-pipelines",
                    "operator.tekton.dev/release": "devel"
                },
                "name": "tekton-operator-proxy-webhook-config-leader-election",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "pipeline-main-static-d69sp",
                        "uid": "a8153609-7d59-48ba-8d9d-a01c7cbf92d3"
                    }
                ],
                "resourceVersion": "4714",
                "uid": "14ff016d-4054-47f1-a659-71e20a6b5a74"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "config": "DB_USER=\nDB_PASSWORD=\nDB_HOST=tekton-results-postgres-service.tekton-pipelines.svc.cluster.local\nDB_PORT=5432\nDB_NAME=tekton-results\nDB_SSLMODE=disable\nDB_SSLROOTCERT=\nDB_ENABLE_AUTO_MIGRATION=true\nDB_MAX_IDLE_CONNECTIONS=10\nDB_MAX_OPEN_CONNECTIONS=10\nGRPC_WORKER_POOL=2\nK8S_QPS=5\nK8S_BURST=10\nPROFILING=false\nPROFILING_PORT=6060\nFEATURE_GATES='PartialResponse=true'\nSERVER_PORT=8080\nPROMETHEUS_PORT=9090\nPROMETHEUS_HISTOGRAM=false\nTLS_PATH=/etc/tls\nTLS_MIN_VERSION=\nTLS_CIPHER_SUITES=\nTLS_CURVE_PREFERENCES=\nAUTH_DISABLE=false\nAUTH_IMPERSONATE=true\nLOG_LEVEL=info\nSQL_LOG_LEVEL=warn\nLOGS_API=false\nLOGS_TYPE=File\nLOGS_BUFFER_SIZE=32768\nLOGS_PATH=/logs\nLOGS_TIMESTAMPS=false\nS3_BUCKET_NAME=\nS3_ENDPOINT=\nS3_HOSTNAME_IMMUTABLE=false\nS3_REGION=\nS3_ACCESS_KEY_ID=\nS3_SECRET_ACCESS_KEY=\nS3_MULTI_PART_SIZE=5242880\nGCS_BUCKET_NAME=\nSTORAGE_EMULATOR_HOST=\nCONVERTER_ENABLE=false\nCONVERTER_DB_LIMIT=50\nMAX_RETENTION=\nLOGGING_PLUGIN_PROXY_PATH=/api/logs/v1/application\nLOGGING_PLUGIN_API_URL=\nLOGGING_PLUGIN_TOKEN_PATH=/var/run/secrets/kubernetes.io/serviceaccount/token\nLOGGING_PLUGIN_NAMESPACE_KEY=kubernetes_namespace_name\nLOGGING_PLUGIN_CONTAINER_KEY=kubernetes.container_name\nLOGGING_PLUGIN_STATIC_LABELS='log_type=application'\nLOGGING_PLUGIN_CA_CERT=\nLOGGING_PLUGIN_QUERY_LIMIT=1700\nLOGGING_PLUGIN_TLS_VERIFICATION_DISABLE=false\nLOGGING_PLUGIN_FORWARDER_DELAY_DURATION=10\nLOGGING_PLUGIN_QUERY_PARAMS='direction=forward'\nLOGGING_PLUGIN_MULTIPART_REGEX=\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "e63bb5151e0ab148e3084cda63742b1d214f151f3ea9aac6c8f30553dfbb7615"
                },
                "creationTimestamp": "2026-05-13T10:19:12Z",
                "labels": {
                    "app.kubernetes.io/part-of": "tekton-results",
                    "app.kubernetes.io/version": "v0.18.0",
                    "operator.tekton.dev/operand-name": "tektoncd-results"
                },
                "name": "tekton-results-api-config",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "result-cvpl2",
                        "uid": "433f8b2e-a733-445f-9b60-fe4967b3161c"
                    }
                ],
                "resourceVersion": "5698",
                "uid": "d01844d4-21a6-429e-a6d1-8bafdea70cc7"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# lease-duration is how long non-leaders will wait to try to acquire the\n# lock; 15 seconds is the value used by core kubernetes controllers.\nlease-duration: \"60s\"\n# renew-deadline is how long a leader will try to renew the lease before\n# giving up; 10 seconds is the value used by core kubernetes controllers.\nrenew-deadline: \"40s\"\n# retry-period is how long the leader election client waits between tries of\n# actions; 2 seconds is the value used by core kubernetes controllers.\nretry-period: \"10s\"\n# buckets is the number of buckets used to partition key space of each\n# Reconciler. If this number is M and the replica number of the controller\n# is N, the N replicas will compete for the M buckets. The owner of a\n# bucket will take care of the reconciling for the keys partitioned into\n# that bucket.\nbuckets: \"1\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "b2ed66590c67f8f9c5067005b1993e2c9e5077477ae3e6d3f816dba795e7b7ff"
                },
                "creationTimestamp": "2026-05-13T10:19:12Z",
                "labels": {
                    "app.kubernetes.io/name": "tekton-results-leader-election",
                    "app.kubernetes.io/part-of": "tekton-results",
                    "app.kubernetes.io/version": "v0.18.0",
                    "operator.tekton.dev/operand-name": "tektoncd-results"
                },
                "name": "tekton-results-config-leader-election",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "result-cvpl2",
                        "uid": "433f8b2e-a733-445f-9b60-fe4967b3161c"
                    }
                ],
                "resourceVersion": "5699",
                "uid": "bc7011d2-9305-42e7-bd20-6c1086f1b42c"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "loglevel.watcher": "info",
                "zap-logger-config": "{\n  \"level\": \"info\",\n  \"development\": false,\n  \"outputPaths\": [\"stdout\"],\n  \"errorOutputPaths\": [\"stderr\"],\n  \"encoding\": \"json\",\n  \"encoderConfig\": {\n    \"timeKey\": \"time\",\n    \"levelKey\": \"level\",\n    \"nameKey\": \"logger\",\n    \"callerKey\": \"caller\",\n    \"messageKey\": \"msg\",\n    \"stacktraceKey\": \"stacktrace\",\n    \"lineEnding\": \"\",\n    \"levelEncoder\": \"\",\n    \"timeEncoder\": \"iso8601\",\n    \"durationEncoder\": \"string\",\n    \"callerEncoder\": \"\"\n  }\n}\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "b00424869126f2d0d8ca96400c976886d176a2f90dba1e8bffc29a7451f16e88"
                },
                "creationTimestamp": "2026-05-13T10:19:12Z",
                "labels": {
                    "app.kubernetes.io/name": "tekton-results-logging",
                    "app.kubernetes.io/part-of": "tekton-results",
                    "app.kubernetes.io/version": "v0.18.0",
                    "operator.tekton.dev/operand-name": "tektoncd-results"
                },
                "name": "tekton-results-config-logging",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "result-cvpl2",
                        "uid": "433f8b2e-a733-445f-9b60-fe4967b3161c"
                    }
                ],
                "resourceVersion": "5701",
                "uid": "5116c784-5be6-4f4d-a0f8-5d58aa57cd4c"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "_example": "################################\n#                              #\n#    EXAMPLE CONFIGURATION     #\n#                              #\n################################\n\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n\n# metrics.backend-destination field specifies the system metrics destination.\n# It supports either prometheus (the default) or stackdriver.\n# Note: Using Stackdriver will incur additional charges.\nmetrics.backend-destination: prometheus\n\n# metrics.stackdriver-project-id field specifies the Stackdriver project ID. This\n# field is optional. When running on GCE, application default credentials will be\n# used and metrics will be sent to the cluster's project if this field is\n# not provided.\nmetrics.stackdriver-project-id: \"\u003cyour stackdriver project id\u003e\"\n\n# metrics.allow-stackdriver-custom-metrics indicates whether it is allowed\n# to send metrics to Stackdriver using \"global\" resource type and custom\n# metric type. Setting this flag to \"true\" could cause extra Stackdriver\n# charge.  If metrics.backend-destination is not Stackdriver, this is\n# ignored.\nmetrics.allow-stackdriver-custom-metrics: \"false\"\nmetrics.taskrun.level: \"task\"\nmetrics.taskrun.duration-type: \"histogram\"\nmetrics.pipelinerun.level: \"pipeline\"\nmetrics.pipelinerun.duration-type: \"histogram\"\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "4ecd4bc9dcafd06b1fa6eb01273de5a9274bf933da8f35040695b44b7953e27f"
                },
                "creationTimestamp": "2026-05-13T10:19:12Z",
                "labels": {
                    "app.kubernetes.io/name": "tekton-results-observability",
                    "app.kubernetes.io/part-of": "tekton-results",
                    "app.kubernetes.io/version": "v0.18.0",
                    "operator.tekton.dev/operand-name": "tektoncd-results"
                },
                "name": "tekton-results-config-observability",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "result-cvpl2",
                        "uid": "433f8b2e-a733-445f-9b60-fe4967b3161c"
                    }
                ],
                "resourceVersion": "5702",
                "uid": "bde99563-d43d-4634-af93-15aadd975333"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "defaultRetention": "30",
                "runAt": "5 5 * * 0"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "b90bf201932653933cde429767584934a3ede83101876535d5e91c52b49f168e"
                },
                "creationTimestamp": "2026-05-13T10:19:12Z",
                "labels": {
                    "app.kubernetes.io/name": "tekton-results-retention-policy",
                    "app.kubernetes.io/part-of": "tekton-results",
                    "app.kubernetes.io/version": "v0.18.0",
                    "operator.tekton.dev/operand-name": "tektoncd-results"
                },
                "name": "tekton-results-config-results-retention-policy",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "result-cvpl2",
                        "uid": "433f8b2e-a733-445f-9b60-fe4967b3161c"
                    }
                ],
                "resourceVersion": "5703",
                "uid": "857450fa-03ae-4700-8f6a-c99d4dd42531"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "version": "v0.18.0"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "4f6cb33b126d7d9d6b312b7ccc1c2000a3fb47b8dd3ec89e627e01d79b1d1366"
                },
                "creationTimestamp": "2026-05-13T10:19:13Z",
                "labels": {
                    "app.kubernetes.io/name": "tekton-results-info",
                    "app.kubernetes.io/part-of": "tekton-results",
                    "app.kubernetes.io/version": "v0.18.0",
                    "operator.tekton.dev/operand-name": "tektoncd-results"
                },
                "name": "tekton-results-info",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "result-cvpl2",
                        "uid": "433f8b2e-a733-445f-9b60-fe4967b3161c"
                    }
                ],
                "resourceVersion": "5705",
                "uid": "f38db9d4-3552-4730-a2e7-6b08a4a687d9"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "POSTGRES_DB": "tekton-results"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "c2eda5864d153f71f8fae9c729d6f37651d388036ab2415deba841bc32b5815e"
                },
                "creationTimestamp": "2026-05-13T10:19:13Z",
                "labels": {
                    "app.kubernetes.io/name": "tekton-results-postgres",
                    "app.kubernetes.io/part-of": "tekton-results",
                    "app.kubernetes.io/version": "devel",
                    "operator.tekton.dev/operand-name": "tektoncd-results"
                },
                "name": "tekton-results-postgres",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "result-cvpl2",
                        "uid": "433f8b2e-a733-445f-9b60-fe4967b3161c"
                    }
                ],
                "resourceVersion": "5715",
                "uid": "1c238d9e-8615-443e-9545-20dc859ee8d1"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "version": "v0.35.0"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "operator.tekton.dev/last-applied-hash": "c50b2b072a28d7bf12a388bb341ff54ff05da584bec5c885a58688fc9971817d"
                },
                "creationTimestamp": "2026-05-13T10:18:18Z",
                "labels": {
                    "app.kubernetes.io/instance": "default",
                    "app.kubernetes.io/part-of": "tekton-triggers",
                    "operator.tekton.dev/operand-name": "tektoncd-triggers"
                },
                "name": "triggers-info",
                "namespace": "tekton-pipelines",
                "ownerReferences": [
                    {
                        "apiVersion": "operator.tekton.dev/v1alpha1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "TektonInstallerSet",
                        "name": "trigger-main-static-qbfrn",
                        "uid": "0c240fba-162e-46d7-9122-a9f8ac3bece5"
                    }
                ],
                "resourceVersion": "5164",
                "uid": "83cb1150-d27f-4bee-843b-f8b89d1fd88b"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T10:21:24Z",
                "name": "kube-root-ca.crt",
                "namespace": "user-ns1",
                "resourceVersion": "7064",
                "uid": "94d79245-67f8-48cb-a3c2-4abf50733261"
            }
        },
        {
            "apiVersion": "v1",
            "data": {
                "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIIQYjVYwhKKT4wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\nAxMKa3ViZXJuZXRlczAeFw0yNjA1MTMwODU3NDhaFw0zNjA1MTAwOTAyNDhaMBUx\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQCz9Bw39/bwiSASXuBB0H6UPoZZE9sIiBwNlbp8I1u66LSmDWh/qHr6D3WI\naSbj8MV2toFBxO0anB8UcWSc348joDmGL22dqYZpuOf9LaMVBOgokEnPxX3sPFLO\nCG2Xv6IeyQE234S/CXhwOEqFFYvULbizuqn8uj44hpvHHz0rGolpnwbsA6JRVzr3\nIONBkO8FD5cyY9gy/N/MjCJV76caRc4Jok50V2OHubpB88v9ObFyN196I9AU8qsO\nMmax/8+T2XcmTEVw4+DMru0R3vWHj5PRRYFoqdTgdQQSOzz1t30NLDXPyGWFfmZ9\n0XWuf7LH26P9cHx4+zUCTISXPV81AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSaDaGgshJlK5fMgZNJ7wlbSMEzEzAV\nBgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCZIR3bWgbU\nV+RqzvHTObVNx422Dg6eFeCws+h1m22sjZhiFbwHX0mghJHqR7SRmVvm37a2l5Xh\nCHrI4dh9Q//4cxg8LGo52JZVc58D1l9VMs/x27ZcCuPbvAYfHGHiGNSwEqNpZv5c\nqeZWOJGA5kWLPVuSwkxG+ebeZbgmwM4wzycYmTR0yPeDUWqkC6qUKUQ1UPjDCol2\nE/QJOzPhdok5+dOseeK05Apd8q4dQetrjwPA0S6QYtbHfR2ybonMTb2uDO8ntKr0\n7ndqa8qKXeOvrwEySTMHwb7KRE4fecVmsabo9Oel/wD/w5AoHOyGCiZ2us++YZ09\nbqWwVBXcoTH3\n-----END CERTIFICATE-----\n"
            },
            "kind": "ConfigMap",
            "metadata": {
                "annotations": {
                    "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
                },
                "creationTimestamp": "2026-05-13T10:21:24Z",
                "name": "kube-root-ca.crt",
                "namespace": "user-ns2",
                "resourceVersion": "7068",
                "uid": "1b6a64fc-9a3d-4734-8801-9b048bbcb2ba"
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
